Статические и динамические страницы. Статические и динамические веб страницы Статическая и динамическая страница

Постоянно подключенные к Интернету по всему миру компьютеры, на которых располагаются сайты, называются серверами (от английского serve –– служить, обслуживать). Программное обеспечение, которое обеспечивает отправку web-страниц во “всемирную паутину”, также называется сервером или w eb-сервером .

Обычные неизменяемые (статические ) web-страницы лежат в каталогах сервера в виде готовых HTML-файлов. Работа web-сервера в этом случае заключается лишь в том, чтобы в ответ на запросы браузера передавать ему необходимые файлы:

Если запрос не может быть выполнен, то web-сервер возвращает определенный код ошибки (например, код 404 –– файл не найден, или 403 –– к нему запрещен доступ).

Браузер, в свою очередь, отображает страничку, опираясь на правила языка HTML, и обеспечивает реакцию на действия пользователя, когда он щелкает по гиперссылкам. Языки HTML и CSS описывают только содержимое web-страниц и их внешний вид. Все страницы такого сайта должны быть созданы заранее и, чтобы изменить его содержимое, необходимо переписать код страниц и снова загрузить сайт.

В настоящее время существует большое количество web-серверов, но наиболее популярным является Apache , который относится к бесплатному программному обеспечению, и позволяет взаимодействовать со многими операционными системами.

Динамические w eb-страницы

Ограничения статических web-страниц снимаются в динамических web-сайтах. Страницы таких сайтов могут динамически менять содержимое и оформление. Кроме того, можно создавать интерактивные документы и web-приложения, которые в реальном времени взаимодействуют с пользователем.

При запросе динамических страниц web-сервер запускает программу-сценарий (называемую также скриптом –– script ), которая написана на каком-либо языке программирования. Именно такой сценарий, в зависимости от параметров запроса, и формирует HTML-страницу, которая передается браузеру и отображается. При этом никаких дополнительных требований к браузеру пользователя не предъявляется, он может быть любым, вся нагрузка по созданию динамических страниц ложится на сервер. Браузер по-прежнему работает с уже готовыми web-страницами, разница лишь в том, что их содержимое формируется для каждого посетителя сайта отдельно.

Серверные сценарии необходимы при создании поисковых систем, форумов, интернет-магазинов, новостных сайтов, почтовых служб и во многих других
случаях. С помощью сценариев можно также генерировать изображения, анимации, создавать письма электронной почты и делать многое другое.

Сценарии на языке PHP

Серверные сценарии можно писать на различных языках программирования, но чаще для этого используются языки, специально для этого предназначенные: PERL (Practical Extraction and Report Language –– практический язык для создания выборок и отчетов) и PHP (Hypertext Preprocessor –– препроцессор гипертекста).

Язык PHP сейчас на первом месте по популярности в силу большой функциональности и сравнительной легкости освоения. Некоторые операционные системы, например, Linux, уже имеют в своем составе PHP. В Windows требуется загрузить и установить соответствующее программное обеспечение вручную.

Как работают php -страницы

При запросе браузером PHP-страницы (то есть страницы, формируемой с помощью PHP-сценария) web-сервер, в свою очередь, передает запрос PHP-процессору, который считывает файл страницы. Если этот файл является сценарием (php-программой *.php), то выполняются операторы этого сценария, а в памяти web-сервера формируется нужная страница, которая, в конце концов, передается браузеру. Причем в зависимости от запроса один и тот же файл этой страницы может содержать разную информацию.

Таким образом, главная цель PHP-сценария состоит в формировании HTML-страниц. При этом может выполняться запрос к базе данных, в которой хранится вся необходимая информация.

Даже у новичков наверняка на слуху такие фразы "статичекий сайт" и "динамический сайт". Но что конкретно значат эти словосочетания и в чем разница между ними, каковы преимущества того или другого вида сайта?

Давайте мы с вами не будем гадать, а просто подробно разберемся и сравним их.

Статические и динамические сайты - в чем разница?

Хотя на сегодняшний день количество динамических сайтов увеличивается, нельзя наверняка сказать, окинув первым взглядом сайт, который вы открыли, статический он или динамический.

Статические сайты примеры

Предположить можно с первого взгляда, что сайт является статическим, если, например, он содержит одну или небольшое количество страниц, или, например, если это сайт-визитка какой-либо компании и информация на нем никогда не изменяется или обновляется очень редко, если на нем нет таких возможностей, как, например, комментирование или регистрация и т.п..

На самом деле статический сайт может обновить только человек, хорошо разбирающийся в вебразработке, так как в нем нет админ-панели, поэтому все обновления на сайте придется проделывать через его исходный код.

Статичные сайты стоят дешевле и занимают меньше места на хостинге, потому многие небольшие компании до сих пор предпочитают их динамическим сайтам.

Таким образом, мы можем видеть преимущества статических сайтов:

  1. Они просты и быстры в разработке
  2. Дешевы в разработке и меньше нагрузки на .

Наряду с преимуществами можно выделить и недостатки статических сайтов:

  1. Для обновления сайта требуется опыт вебразработки.
  2. Чтобы обновить даже самую маленькую деталь на таком сайте, вам придется либо самому копаться в коде, либо, если вы сами не знаете HTML и CSS, вам нужно будет каждый раз прибегать к услугам вебмастера.

  3. "Застаивание" контента.
  4. Из-за того, что содержимое такого сайта обновляется очень редко, контент на них "застаивается", это весьма неблагоприятным образом сказывается в поисковиках. Конечно, продвигать такой сайт можно, но преимущественно платными способами.

Динамичные сайты примеры

С другой стороны - динамические сайты могут стоить гораздо дороже, тем более, если они будут разрабатываться с самого нуля. А также хостинг будет немного дороже, так как нужно будет подключить дополнительные возможности. Но многочисленные преимущества динамических сайтов с лихвой перекрывают эти недостатки.

Динамический вебсайт дает его владельцу возможность очень легко обновлять и добавлять контент на свой сайт. Например, новости и события могут добавляться через админ-панель в самом браузере, без необходимости редактировать файлы с кодом.

Возможности динамического сайта могут ограничиваться только нашим воображением.

Примеры динамических сайтов - это сайты на основе систем управления, интернет-магазины, сайты объявлений, форумы, сайты с возможностями для клиентов и посетителей оставлять отзывы, комментарии, загружать файлы и т.д.

Преимущества динамических сайтов:

  1. Более функциональный сайт.
  2. Намного проще его обновлять.
  3. Постоянное обновление положительно сказывается на продвижении сайта и приносит больше посетителей.
  4. Такой сайт помогает своему владельцу и дает намного больше возможностей общаться со своей аудиторией и сделать свой сайт более интересным для посетителей за счет различных функций.

Выводы

Итак, мы видим, что перспектив развития у динамического сайта гораздо больше, чем у статического, несмотря на то, что, возможно понадобится побольше времени, чтобы воплотить такой сайт в жизнь.

Все больше и больше людей осознают неоспоримое преимущество динамических сайтов, а потому их появляется все больше в сети.

Но с другой стороны, все зависит от того, что нужно конкретно ВАМ, если вам нужен, например, одностраничный сайт, через который вы будете продавать какой-то товар, или же сайт-визитка от 1 до 5-6 страниц, который вы не планируете постоянно обновлять, то вполне естественным решением будет остановиться на статическом сайте.

Если же вы хотите чтобы ваш проект постоянно развивался и наполнялся контентом, то, несомненно, вам нужен динамический сайт.

Теперь, после подробного рассмотрения запроса/ответа HTTP , обратим внимание на различные типы контента (любое содержательно-значимое наполнение информационного ресурса), который вы ожидаете увидеть в Интернет. Я разделил его на четыре типа - простой текст, стандарты Web , динамические Web -страницы, и форматы, требующие других приложений или подключаемых модулей (плагинов).

Простой текст

В самом начале, до появления каких-либо стандартов Web или плагинов, Интернет состоял в основном из изображений и простого текста - файлов с расширением.txt или похожим на него. Когда файл с простым текстом встречается в Интернет, браузер просто выводит его как есть, без какой-либо дополнительной обработки. Файлы с простым текстом все еще можно часто встретить на сайтах университетов.

Стандарты Web

Базовыми строительными блоками Всемирной паутины WWW являются три основных стандарта Web - HTML (или XHTML, эти два понятия будут использоваться здесь взаимозаменяемо для наших целей), CSS и JavaScript.

Язык разметки гипертекста (HTML) является в действительности довольно удачным названием, так как хорошо передает его назначение. HTML используется для разбиения документа, определения его содержания и структуры, и определения значения каждой части (того, что содержит весь текст и т.д., что мы видим на страницах Web ). Он использует специальные элементы для определения на странице различных компонентов.

Каскадные таблицы стилей (CSS) предоставляют полный контроль над тем, как выводится элемент. Очень легко, используя объявления стилей, вывести все параграфы через две строки (line-height: 2em;), или сделать все заголовки второго уровня зеленого цвета (color: green;). Существует множество преимуществ разделения структуры и форматирования, и мы рассмотрим это более подробно в следующей лекции. Чтобы продемонстрировать мощь совместного использования HTML и CSS, рисунок 3.2 показывает простой код HTML слева, вообще без дополнительного форматирования, а справа можно видеть тот же самый код HTML с добавленными к нему стилями CSS.

Рис. 3.2. Простой HTML слева, HTML с использованием CSS справа

Наконец, язык JavaScript предоставляет Web -сайту динамические функции. Можно писать небольшие программы на JavaScript, которые будут выполняться на клиентском компьютере, не требуя установки на сервере какого-либо специального программного обеспечения. JavaScript позволяет добавить на Web -сайт некоторые базовые функции и интерактивность, но он имеет свои ограничения, что ведет нас к серверным языкам программирования и динамическим Web страницам.

Динамические страницы Web

Иногда при просмотре Интернет можно встретить страницы Web , которые не используют расширение.html - они могут иметь расширение.php, .asp, .aspx, .jsp, или какое-нибудь другое странное расширение. Все это примеры динамических технологий Web , которые могут использоваться для создания страниц Web , имеющих динамические разделы - код, который выводит различные результаты из базы данных или другого источника данных в зависимости от определяемых для него значений. Мы рассмотрим страницы Web этого типа ниже в разделе "Сравнение статических и динамических Web -сайтов".

или чем статическое содержимое сайта отличается от динамического

По традиции начнем с определения. Итак, все сайты и их страницы, имеющие окончания.html , .xhtml или.php (если, конечно, это не внутренняя настройка CMS, позволяющая отображать подобное окончание) и не затрагивающие базы данных для генерации содержимого, можно отнести к статическим. Содержимое, то есть страницы статических сайтов создаются в текстовых редакторах, таких как Блокнот или Dreamweawer и загружаются с помощью файлового менеджера непосредственно на отдаленный сервер хостинга. Процесс размещения в сети подробно описан в одной из статей.

Исходя из этого определения, все сайты и страницы, работающие на CMS Joomla, Wordpress, Drupal и других CMS, являются динамическими и рассмотрим мы их отдельно.

Статические сайты и страницы раньше были намного более часто распространены, чем сегодня - появление и развитие CMS способствовало сокращения их количества в пользу динамических. Но не смотря на это статические страницы имеют свои преимущества: быстрая скорость загрузки содержимого в веб-браузер, минимальные требования к конфигурации сервера на хостинге и минимальная нагрузка на него, статический сайт легко перенести на другой хостинг; еще до размещения сайта в интернете, его можно просматривать в браузере на своем компьютере.

Статический сайт: преимущества и перспективы

В интернете статические сайты присутствуют наравне с другими.. Если говорить о SEO или поисковом продвижении сайта, то здесь, как уже было сказано выше, имеется неоспоримое преимущество - легкость и быстрая скорость загрузки (если не нагружать сайт тяжелыми изображениями, скриптами и всевозможным интерактивным контентом).

Статический сайт имеет смысл использовать по усмотрению, в зависимости от целей и для общего развития, например, чтобы получше разобраться с такими дисциплинами, как и — это непременно пригодится в работе с более сложными проектами и прибавит вам уверенность в своих возможностях, что обязательно пригодится на определенном этапе вашего становления как веб-разработчик. А это уже профессионализм! В общем, этап настоятельно рекомендую пройти.

Статические сайты могут работать в связке с динамическими. Например, можно сделать статический поддомен или отдельный каталог, то есть раздел сайта или наоборот. Экспериментируйте на свое усмотрение - это полезно.

Страницы делятся на статические и динамические по поведению документа в браузере. С другой стороны эти понятия часто используют и в другом смысле. Документы также делятся на статические и динамические по способу создания документа.

По поведению документа в браузере пользователя, различают:

  • Статические html страницы
    Статические - означает, что страница выглядит всегда одинаково, на зависимо от действий пользователя. Например, меню организованно ссылками на отдельные страницы, а не выпадающим списком.
  • Динамические html страницы
    Эти страницы уже могут реагировать на действия пользователя и изменяться. Например, при щелчке по тексту может показываться всплывающий блок текста с переводом слова. Кстати, именно так реализован один из плугинов-переводчиков для браузера Firefox.

Динамика на веб страницах реализована при помощи скриптов, которые выполняются браузером. Многие элементы языка html поддерживают определение обработчиков событий. Например, можно задать обработку события "нажатия кнопки мыши" на картинке. Тогда если пользователь кликнет на эту картинку, вызовется определенный для этого обработчик.

Это может звучать несколько запутано, но не переживайте. Когда вы с этим столкнетесь - все будет проще.

Самый распространенный язык для создания динамики веб страниц - это JavaScript. (Не путайте с языком программирования Java. Это две совершенно разные сущности.)
Реже используется VBscript(visual basic script). (Microsoft как всегда пошла своим путем.)

По способу создания документы делят опять на статические и динамические.

Статическими называют страницы, если они лежат на сервере в html е.
А динамическими называют те, которые генерируются "на лету" по запросу браузера.

Как легко у еть, если на сервере лежит обычная html страница, то такой подход сильно ограничен. Например, у вас есть интернет-магазин, и вы добавили новый товар. Если ваш магазин состоит из "статических" html страниц, то вы должны вручную подправить несколько других страничек. Как минимум это каталог товаров и, наверное, форму заказа. Если у вас кончился какой-либо товар, то опять надо обновлять сайт. Это очень неудобно. Поэтому вы не найдете ни одного интернет магазина на html. (Хотя и можно придумать систему, которая автоматически перегенирирует сайт при изменении товара. Но это не очень элегантное решение и я о таком никогда не слышал).

Если ваш сайт содержит часто меняющийся контент (content - информация на сайте), то вам на помощь придут скрипты, выполняющиеся на сервере . И это ключевое отличие этих скриптов, от описанных ранее (тех, что написаны на JavaScript). Работает это следующим образом:

  1. Браузер запрашивает у сервера документ
  2. Сервер определяет, что документ является скриптом и запускает его на выполнение
  3. Скрипт генерирует html страницу
  4. Сервер отправляет сгенерированную страницу браузеру, так что тот и не догадывается, что на сервере отработал скрипт

Существует несколько языков программирования, на которых могут писать скрипты, которые генерируют "динамические" страницы. Самые распространенные из них:

  1. Python
  2. Бинарный код (программа на Си или С++ скомпилированная в исполняемый код)

Каждый из этих языков имеет свои особенности применения. Писать скрипты можно на любом языке. Главное знать его сильные и слабые стороны и использовать их эффективно. Я еще расскажу об этих языках поподробнее. А пока, важно знать, что существуют различные языки программирования, на которых программируются сайты с часто меняющимся контентом.

Как правило если вы ите, что адрес страницы заканчивается на.html или.htm, то это обычная статическая страница. (Можно конечно настроить сервер так, чтобы он исполнял скрипты, которые заканчиваются на эти же окончания, только это не практично. Все таки.html и.htm - это стандарт и переопределять эти окончания не стоит.) Если же вы ите любое другое окончание, то это скорее всего скрипт. Например, скрипты на языке PHP имеют обычно расширение.php, на языке Perl - .pl, ASP - .aspx
Если же адрес не содержит имени страницы, то сервер будет использовать документ заданный по умолчанию (обычно это либо index.html либо index.htm либо index.php).

Надо сказать, что сейчас все больше набирает силу гибридная . Название у нее, как у голландского футбольного клуба - AJAX, что означает: Asyncronous JavaScript And XML (Как расшифровывается название голландского клуба я не знаю). Эта позволяет скриптам на JavaScript обращаться к какому либо скрипту на сервере и получать информацию с сервера. Это в свою очередь, дает пользователю гибкость и позволяет перезагружать только часть содержимого страницы, а не всю ее полностью (что значительно экономит трафик).

Выводы

Статические html страницы - не очень гибкое решение. Использовать их стоит, только если у вас полностью статическое содержание. Например, вы выкладываете в сеть какую-либо книгу. Книга уже написана и изменяться не будет. В этом случае, намного эффективнее и проще оформить книгу как статический html документ.

Если же у вас на сайте часто меняющаяся информация, то выбор следует остановить на использовании скриптов.
Однако, у скриптов есть один минус: они требуют дополнительных ресурсов от сервера для своей работы. Если html страничку надо просто прочитать с сервера и отправить браузеру, то скрипт надо сначала запустить и выполнить. К тому же, очень часто скрипты используют систему управления базой данных (СУБД ) для хранения изменяющихся данных.