Почему статические сайты удобнее динамических?
Рассказываем о том, что такое статические сайты, чем они лучше динамических, как их делать и где хостить за 4 рубля в месяц.
Поделиться
Поделиться
Какие бывают сайты
Веб-сайт может быть динамическим или статическим. В первом случае при запросе пользователя страница собирается в момент запроса, а затем отображаются в браузере. Во втором — на сервере хранятся уже готовые страницы. Работу динамических сайтов обеспечивают CMS или движки — WordPress, Joomla, ModX, Битрикс и т. д. Их интерфейс обычно не сложнее, чем у текстового редактора — для публикации контента достаточно самых общих знаний html. Главный минус динамических сайтов — большие затраты системных ресурсов: при каждом обращении пользователя взаимодействуют веб-сервер, приложения для генерации страниц и база данных. Резкий рост количества посетителей или запросов означает, что скорость загрузки сайта падает. Кэширование частично снимает это неудобство, но его можно использовать не всегда и не везде. Потребление системных ресурсов открывает уязвимость для DDoS-атак — большое количество запросов выбивает их из эфира. В большинстве случаев движки — системы c открытым кодом, поэтому найти и использовать уязвимости может любой желающий. Наверняка вы уже слышали о том, как можно сломать комментарием WordPress, а через HTTP-заголовки на Joomla! можно получить доступ к базе данных сайта. Статические сайты состоят из готовых страниц (HTML, JS, графика, шрифты), загруженных на сервер. Важные достоинства статических сайтов: скоростная загрузка страниц и повышенная устойчивость ко взлому. Кроме того, сайты из статических страниц без проблем выдерживают гораздо большую посещаемость, чем их динамические «коллеги». Неудобством статики считается необходимость генерировать сайт заново даже для внесения самых незначительных изменений в содержание сайта. Ускорить и облегчить этот процесс призваны разнообразные генераторы статических сайтов. Сайты-визитки, блоги, каталоги товаров, документацию к программным продуктам и техническим устройствам удобнее делать статическими. Для таких сайтов может потребоваться динамическая часть — комментарии, поиск, личный кабинет пользователя, создание страниц. Динамическую часть помогут реализовать сторонние инструменты или расширения к генераторам.
Обзор генераторов статических сайтов
- MiddleMan отличается подробной документацией, написанной простым и понятным языком. Для MiddleMan написано немало расширений и плагинов, список которых постоянно обновляется. Поддерживается развертывание с помощью FTP, SFTP, rsync, git.
- Hugo — простой и популярный генератор с высокой скоростью сборки сайтов. Для Hugo нет расширений и плагинов, но это компенсируется возможностями контентной модели: возможно задавать тип записей, группировать их в каталоги, выводить теги и метки. Форматирование контента происходит с помощью формата Markdown. Результат выгружается с помощью FTP.
- Jekyll — дефолтный движок для статических сайтов на основе GitHub Pages; часто используется для ведения блогов. Jekyll поддерживает разметку Liquid, используя конструкции исключительно языка разметки, а не языка программирования. Опубликовано много расширений для блогов — добавление облака тегов, полнотекстовый поиск по блогу и даже специализированный плагин для научных и образовательных блогов. Поддерживает FTP, rsync и git.
- Octopress — по сути, надстройка Jekyll c плагинами и шаблонами для более удобного ведения блогов. В качестве формата разметки постов по умолчанию используется Markdown, но можно использовать и обычный HTML. Octopress поддерживает переезд с других площадок: все записи из блога на WordPress переносятся с помощью 1 скрипта. Блог можно интегрировать с социальными сетями, есть плагины для вставки календарей, списка похожих постов, облака тегов и так далее. Работает с git, rsync, можно настроить деплой по FTP.
- Hyde — полный аналог Jekyll, только написанный на другом языке — отсюда название, отсылающее к «Странной истории доктора Джекилла и мистера Хайда». По функционалу Hyde не отличается от MiddleMan и Jekyll. Проект находится в стадии активной разработки, поэтому документация представлена лаконично, а плагинов и расширений существуют мало. Поддерживается деплой с помощью FTP, rsync, git.
- Pelican обладает широким набором функций: работа с черновиками, интеграция с социальными сетями, добавление изображений, конвертация HTML-страниц в PDF, поддержка многоязычности и многое другое. Хорошо подходит для ведения блогов: посты можно писать на Markdown, reStructuredText и Asciidoc. Устанавливается через pip, проект разворачивается по FTP или SSH.
- В основу Grow лег принцип — «конфигурация, а не код». Для установки генератора нужно скачать скрипт с официального сайта — необходимые пакеты будут установлены в автоматическом режиме. Чтобы создать новый проект, нужно клонировать на локальную машину тему-репозиторий на GitHub. Тема включает набор файлов, которые описывают архитектуру сайта. Никакого программного кода при этом писать не нужно. Контент хранится в формате Markdown или HTML. Поддерживает FTP, rsync и git.
- DocPad чаще всего используется для блогов, но реальные возможности его применения гораздо шире. DocPad можно использовать и как генератор, и как движок, и как шаблонизатор. Оснащен удобным API, а на официальном сайте опубликованы «скелеты» — заготовки, на основе которых пользователи могут создавать собственные сайты. Для DocPad написано большое количество плагинов и опубликованы скрипты, автоматизирующие деплой через FTP, rsync и git.
Хостинг статических сайтов
После создания сайта встает вопрос его размещения. Динамические сайты из-за требований к ресурсам размещаются на виртуальных или выделенных серверах. Для работы статического сайта нужно гораздо меньше системных ресурсов, поэтому в качестве площадки можно использовать любое виртуальное хранилище, которое позволяет раздавать контент пользователям. Возможности специализированных платформ для хранения статики примерно одинаковы, основное отличие — в стоимости хранения и раздаче контента. Облачное хранилище Selectel стоит от 4 рублей в месяц и, кстати, промосайт хранилища — чистая статика, размещенная в самом хранилище.
Имели дело со статическими сайтами? Расскажите в комментариях, какими вы пользовались генераторами и где размещали сайт.
Публикуется на правах рекламы
Статические или динамические сайты: что выбрать?
Все огромное количество существующих сайтов можно разбить на 2 основные группы: статические сайты и динамические сайты. Чем отличаются эти виды сайтов? Каковы преимущества и недостатки каждой группы? Какой вид сайтов выбрать для разработки?
Статичным или статическим принято называть сайт, состоящий из неизменяемых, т.е. статических, HTML-страниц. Как следует это понимать? HTML-страница представляет собой совокупность текста, графических изображений и собственно языка гипертекстовой разметки HTML, отвечающего за представление страницы в браузере.
Статические HTML-страницы создаются вручную, после чего при каждом обращении к сайту представляются пользователю в неизменном виде. Чтобы обновить информацию на подобных страницах, необходимо вручную внести изменения непосредственно в программный код страницы.
Статические сайты имеют как свои преимущества так и недостатки. К преимуществам статических сайтов относят следующие:
- статические сайты создают минимальную нагрузку на сервер, а потому нетребовательны к ресурсам хостинга
- статические сайты загружаются быстро
- разработка статических сайтов обходится дешевле
- перенести статические сайты на новый хостинг очень просто
Среди недостатков статических сайтов особенно выделяется сложность обновления сайта, внесения каких-либо изменений. Управление сайтом невозможно без знаний и умений в области веб-программирования – это может повлечь за собой дополнительные расходы при необходимости добавления новых материалов на сайт, новых разделов или категорий. А при развитии сайта и увеличении количества страниц вообще становится трудно поддерживать целостность проекта, следить за правильностью программных кодов и т.д.
В отличие от статических, динамические сайты гораздо более гибкие в управлении. Динамические сайты (динамичные сайты) представляют собой совокупность текста и графики, языка разметки – точно так же, как и статические сайты. Однако в дополнение к этому динамические сайты используют также различные технологии, позволяющие «собирать» веб-страницы «на лету».
Динамические сайты можно разрабатывать «с нуля», вручную создавая все необходимые программные коды, скрипты и т.д. Однако гораздо чаще для создания динамических сайтов используются специальные системы управления контентом – CMS. CMS позволяют использовать уже готовые программные модули и компоненты, без необходимости каждый раз создавать их «с нуля». На основе одной CMS можно создать любое количество динамических сайтов.
Динамические сайты в браузере формируются из нескольких частей или же браузер заполняет информацией уже готовые шаблоны страниц. В динамических сайтах реализовано разделение содержания и оформления веб-страниц – это позволяет оперативно изменять информацию на сайтах без необходимости изменять программные коды страниц.
Подобный подход к формированию веб-страниц – одно из главнейших преимуществ динамических сайтов. Разделение контента и дизайна сайта дает возможность управлять сайтом любому пользователю, даже без знания веб-программирования. В CMS для добавления и редактирования материалов используются визуальные WYSIWYG-редакторы (принцип «что вижу – то и получаю»).
Динамические сайты могут «подстраиваться» под своих посетителей, реагируя на их действия. Для этого используются технологии серверных, клиентских скриптов, с помощью которых и создаются сценарии поведения сайта при определенных действиях пользователей.
Помимо перечисленных преимуществ, динамические сайты имеют и ряд недостатков. По сравнению со статическими сайтами, динамические более «тяжеловесны», дают большую нагрузку на сервер — следовательно, они более требовательны к хостингу, ресурсам сервера.
Чтобы динамические сайты «работали» нужно дополнительное программное обеспечение, тогда как для отображения статических сайтов достаточно одного лишь браузера. Это делает разработку и поддержку динамических сайтов более дорогой по сравнению со статическими сайтами.
Однако вовсе необязательно создавать сложные динамические сайты для решения простых задач, например для реализации сайтов-визиток из 3-5 страниц. В этом случае на сайте практически не требуется обновление контента, не требуется наличие интерактивных функций – сайт может быть статическим.
В свою очередь, статические сайты не справятся со сложными интерактивными заданиями. Например, невозможно создать интернет-магазин, используя лишь статические HTML-страницы, — он просто не будет работать.
Таким образом, в зависимости от поставленных задач могут использоваться как статические, так и динамические сайты.
Статические и динамические WEB-сайты. В чём разница?
Статический сайт – это обычный набор, состоящий из нескольких HTML-страниц, которые взаимосвязаны между собой ссылками (hyperlink). С самого основания сети Internet все сайты были именно статическими. Собой они представляли стандартные документы, посещаемые различными пользователями, с целью получения какой-либо интересующей их информацией. Такие сайты обладают следующими недостатками:
Смешение дизайна (оформления содержимого) и контента (смысловое содержимое)
Язык HTML (HyperText Markup Language) на сегодняшний день, являющийся общепринятым стандартом разметки гипертекста, предназначен именно для представления внешнего вида страницы. В то время как страницы статических сайтов существуют непосредственно в виде HTML-страниц, и почти всегда кроме информационной части, ради которой пользователь и посещает сайт, содержат некое «служебное обрамление» — шапку и подвал, навигационное меню, какие-то дополнительные текстовые блоки, баннеры, ссылки быстрого доступа к основным разделам сайта и т.п. Поэтому на таких страницах, которые отображают конкретные документы, очень часто контент и дизайн (как страницы в целом, так и отдельных его элементов) идут вперемешку. Отсюда имеем массу негативных последствий, возникающих при публикации новых документов или редактировании уже существующих, — они все должны оформляться единообразно. И если возникает необходимость поменять местами какие-то функциональные блоки сайта, или добавить новый пункт в общее меню – то редактировать придётся все существующие страницы.
На современных сайтах обычно каждый важный документ или страница имеет несколько ссылок на себя — это, к примеру, и ссылка из каталога статей, и ссылка с главной страницы из анонсов, и ссылка из пунктов меню. Поэтому публикация нового материала – это не только фактическое добавление самой страницы, но и редактирование всех остальных страниц, которые, так или иначе, затрагивает это действие, а это в разы увеличивает не только трудоёмкость процесса, но и повышает риск возникновения ошибок.
Полное отсутствие динамики
Здесь всё более менее понятно и без слов: в каком виде сделали документ или страничку сайта, в таком виде он и будет отображаться для посетителя – никакой интерактивности и реагирования на поведение пользователя:
- Полное отсутствие таких возможностей как регистрация и аутентификация пользователей. Хороший сайт должен уметь «узнавать» своих посетителей, поддерживать различные механизмы учёта их поведения на страницах сайта, для того чтобы владелец ресурса знал и реагировал на запросы пользователей;
- Принципиальная невозможность разделения пользователей на различные группы с разными правами доступа к информации, содержащейся на сайте, её создания и редактирования. Эта невозможность напрямую вытекает из приведённого выше пункта;
- Невозможность персонализации пользователей сайта. В данном контексте под персонализацией понимается функционал настройки сайта под требования и предпочтения каждого пользователя индивидуально. Например, показывать для оптовых покупателей или клиентов одну информацию и цены на товары, а для розничных потребителей показывать розничные цены и какие-то индивидуальные предложения;
- Отсутствие возможности подключить такие интерактивные решения как форумы, чаты, гостевые книги, вопросы и ответы, то есть всё то, что способствует общению аудитории сайта не только друг с другом, но и с администрацией сайта;
- Потеря интеграции с внешними приложениями, в частности с электронной почтой, для создания автоматизированной подписки на различные информационные бюллетени: новости, рассылки, прайс-листы, специальные предложения, обновления и тому подобное.
Все вышеперечисленные вещи (и многие проблемы, которые просто невозможно упомянуть в рамках одной статьи) – в принципе неосуществимы в рамках технологии статических сайтов, и в данном случае не обойтись без вмешательства программирования.
Большие сложности с актуализацией информации на сайте:
Статичный сайт, без оперативных и регулярных обновлений рискует проиграть всем конкурирующим проектам. В данном случае информацию, подготовленную контент-менеджером для публикации, надо утвердить с руководством фирмы или владельцем ресурса и отправить программисту или веб-мастеру для внесения данной информации на ресурс. Таким образом изменение старой или добавление новой информации обходится дороже, так как задействовано больше людей, и процесс значительно усложняется. А представьте на мгновение, что нужно добавит новый раздел, и поместить ссылку на него на каждую страницу, а таких страниц у вас уже тысяча? Или вы решите поменять весь дизайн сайта, не затрагивая информацию? Вам придётся практически весь сайт делать с нуля. Это не просто долго и трудоёмко – это разорительно и нецелесообразно!
Динамические WEB-сайты
Содержимое таких сайтов хранится не в виде статичных HTML страничек, а находится в базе данных, и отображается «на лету», непосредственно по запросу пользователя. Существует достаточно много систем программирования и широко распространённых и общепризнанных языков программирования, к примеру: PHP, Perl, ASP и т.п. С их помощью можно создать основу для гибкого сайта любой сложности, но это, конечно же, далеко не всем под силу, и порог вхождения в данную предметную область очень высок. В процесс создания такого сайта добавляется новое действующее лицо – программист на одном из языков программирования, вследствие чего разработка увеличивается в сроках и усложняется.
Но одному программисту невозможно разработать функционал и создать приемлемый дизайн будущего сайта – это возможно только при работе в связке с дизайнером. При таком подходе информационное содержимое ресурса будет отделено от графического, путём создания специального шаблона сайта, на основе которого будут генерироваться будущие страницы сайта, с учётом нужного оформления. Ещё одним плюсом динамических сайтов становится относительно лёгкое администрирование ресурса, через панель администратора и возможно недорого развития проекта.
Таким образом, если ваш сайт состоит или будет состоять из множества страниц или планируется достаточно частый процесс его обновления, то преимущество динамической структуры – очевидно. И вашим разработчикам не придётся полностью перерабатывать все страницы при незначительном обновлении дизайна или при появлении новых разделов сайта. Отделение дизайна то информационного содержимого и является главной отличительной чертой и наиболее значимым преимуществом динамических сайтов
И вот тут происходит столкновение с дилеммой: обычные сайты на html страницах – сложны в поддержке, архаичны и не подходят для представления сложных структур данных. Динамические сайты не просто выдвигают новые требования к их созданию и сопровождению, они и значительно дороже в разработке, а так же требуется содержание новой штатной единицы – программиста. И вот тут был найден выход в виде создания качественных сайтов на CMS
Статические и динамические сайты: в чем разница?
При обращении в компанию «Полюс Альфа» с целью создания корпоративного сайта либо сайта-визитки к примеру, редко кто будет из заказчиков вникать в классификацию сайтов, однако она существует. Среди всего множества существующих сайтов можно выделить следующие группы: статические и динамические. Что это означает и в чем состоит разница между этими ресурсами и разберемся в этой статье.
Уже из самого названия можно догадаться о чем идет речь. Статические сайты содержат такой набор HTML-страниц, который является неизменным. Эти страницы сайта создаются вручную, поэтому и для обновления информации на таких страницах, нужно вручную сделать соответствующие изменения в программном коде. Если этого не предпринимать, то каждый раз перед посетителями будут представать страницы сайта в неизменном виде. То есть не наблюдается никакой интерактивности либо реагирования на поведение посетителей. Вполне естественно, что в статических сайтах есть как плюсы, та и минусы. Среди недостатков можно выделить трудоемкость процесса внесения изменений и затратность по времени. Ну и конечно для этого нужны базовые знания веб программирования.
К преимуществам статических сайтов можно отнести:
- Быстрая загрузка страниц;
- Создается минимальная нагрузка на сервер, потому и требования к хостингу минимальные;
- Разработка статического сайта обойдется намного дешевле;
- С переносом ресурса на новый хостинг вообще не возникает проблем.
В отличии от неизменяющихся статических сайтов, динамические являются более гибкие, что касается управления. Составляющие сайта точно такие же – язык разметки, текст, графика, однако страницы этого типа можно создавать попутно с минимальными затратами времени. Динамические сайты отличаются относительно легким программированием с помощью панели администратора. На динамическом варианте сайта нужно останавливать внимание, если осуществляется создание корпоративного сайта или интернет магазина, когда будет частое обновление страниц. Эти сайты уже будут реагировать на действия пользователей с последующей подстройкой под них. Для этого применяются технологии серверных, а также клиентских скриптов, посредством которых и получаются разные сценарии поведения сайта при каком-либо действии пользователя. Однако не следует забывать и про минусы при создании динамический сайтов. Они имеют большой вес, как следствие дают гораздо большую нагрузку на сервер.
Что касается практического вопроса и разницы в использовании того или иного вида сайта, то для сайта-визитки вполне достаточно статического сайта, поскольку предполагается очень редкое обновление контента. И совершенно другой пример, — это интернет магазины, которые могут функционировать только путем создания динамических страниц. Ведь в этом случае предполагаются сложные интерактивные задания, и статическим сайтам с этим никак не справиться. Как видно из вышеописанного, каждый сайт создается под определенные цели, и важно наличие в качестве инструмента веб мастера как первого, так и второго вида.