Я собираюсь начать создание сайта музыкального проекта для друга. Пока все должно быть довольно просто: никакого динамического контента (даты тура и т. Д.) И всего лишь несколько встроенных примеров песен или ссылок SoundCloud. Я не собираюсь использовать ничего, кроме ванильного JavaScript и Bootstrap или Foundation для адаптивной сетки.
Однако этого достаточно? Могу ли я просто загрузить файлы HTML, CSS и JS на хост и покончить с этим, или мне нужно время, чтобы запрограммировать внутренний сервер на Node или PHP?
Ответы:
Если вы не знаете, нужен ли вам серверный код, вы, вероятно, не *
* Предостережение : код на стороне сервера важен для безопасности, когда вы хотите внутренне контролировать доступ к контенту, данным или функциям. (Это не обязательно должен быть ваш сервер, см. Последний абзац.)
Спросите себя, какую проблему решат серверные технологии. Если вы не можете думать ни о чем (и в вашем случае я тоже не могу), тогда они вам не нужны.
Имейте в виду, что гораздо больше, чем вы думаете, возможно, используя только код на стороне клиента. Фреймворки JavaScript, такие как AngularJS или ReactJS, позволяют интегрировать динамический контент сторонних производителей через API, использующие Ajax. (Это включает в себя подключение к API, который может управлять собственной безопасностью.)
источник
Server-side code is essential for security
довольно многие разработчики не заботятся о безопасности. Пока ты не бросишь их лицо в их ... беспорядок. Моя линия: если вам нужна аутентификация, вам нужен бэк-офис. Если вам нужно хранить данные, вам нужен бэк-офис, где данные будут проверяться во второй раз после проверки клиентом.Читайте о статических генераторах сайтов. Это позволяет создавать сайт программным способом (с использованием шаблонов, данных и т. Д.), А не путем ручного создания HTML. Результатом является набор статического HTML и CSS, который не требует никакого бэкэнда.
https://www.staticgen.com/ перечисляет и ранжирует ряд таких генераторов с открытым исходным кодом; предложения с закрытым исходным кодом, вероятно, тоже существуют.
источник
Can I simply upload HTML, CSS, and JS files to a host and be done with it, or should I take the time to program a backend server in Node or PHP?
нужно указать, что существует третий, в случае ОП довольно привлекательный вариант, ИМХО :)Вы можете и должны использовать только статический сайт, если этого достаточно, или использовать генератор статического сайта . Зачем? Ремонтопригодность, Код имеет ошибки. Каждые несколько недель обнаруживается еще одна дыра в безопасности WordPress. Если вы используете обычную CMS, вам придется постоянно ее исправлять. В противном случае сайт ваших друзей скоро будет содержать рекламу нелегальных наркотиков, пропаганду ИГИЛ, вредоносных программ, которые устанавливаются на компьютерах посетителей или еще хуже. Даже если вы регулярно исправляете его, вы можете опоздать, поэтому вам придется постоянно проверять наличие хаков. Есть способы защитить эту CMS. Установите «плагины безопасности», настройте брандмауэр веб-приложения, например, mod_security и т. Д. Они также должны быть обновлены. Иногда ваши правила mod_security нарушают плагин для WordPress, вы должны проанализировать это и исправить это. Больше работы.
Вы можете подумать, никто не захочет взломать этот сайт. Но из-за общих брешей в безопасности, обнаруженных в распространенных системах CMS, вскоре появятся автоматические боты, которые сканируют / ищут в Интернете и взламывают ВСЕ сайты с помощью этой CMS. Они просто хотят распространять свои ссылки / вредоносные программы / пропаганду.
Со статическим сайтом (созданным вручную или с генератором) у вас нет этой проблемы.
Если вы реализуете свой собственный бэкэнд, у него также будут дыры в безопасности (никто не идеален), но, скорее всего, никто не будет использовать их для этого маленького веб-сайта. Но что вы хотите реализовать? Если вы хотите создать редактор, в котором ваш друг сам может менять даты тура, подумайте, сколько времени это займет у вас, пока он не станет достаточно простым для использования без вашей помощи. Сколько раз вы можете просто быстро изменить даты для него с этим временным бюджетом?
На мой взгляд, сегодня слишком много людей используют системы CMS для каждого сайта, потому что статический HTML «старый». Если вам не нужно ничего, что невозможно с HTML5, используйте код на стороне сервера. Но если вам это не нужно, вы сэкономите много времени без него.
источник
Вам нужно только программировать бэкэнд, когда вам это нужно.
Однако даже базовые функции, такие как формы электронной почты, обычно требуют базового программирования на сервере. Если это просто демонстрационный сайт, тогда да, все в порядке.
источник
Не обязательно, но есть некоторые проблемы, с которыми вы можете столкнуться, если сделать весь сайт в обычном HTML.
Многие сайты имеют одинаковые элементы меню, верхнего и нижнего колонтитула на нескольких страницах. Если вы просто скопируете и вставите их с одной страницы на другую, это может стать утомительным и подверженным ошибкам, поскольку сайт становится больше, и вам нужно продолжать вносить изменения в этих областях.
В те дни, когда программирование на стороне сервера было настолько распространенным, одним из распространенных способов решения этой проблемы было использование фреймов для встраивания этих областей в каждую страницу. Это упало в пользу несколько лет назад, поэтому я не рекомендую делать это сейчас. Вместо этого вы можете написать простой код на стороне сервера, чтобы отобразить эти общие элементы на каждой странице.
Я бы согласился с другими здесь, которые рекомендовали использовать готовую CMS.
источник