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

Статические веб-страницы

Статические веб-станицы не изменяют своего содержимого или разметки при каждом запросе к веб-серверу. Они изменяются только тогда, когда веб-разработчик вручную обновляет их в текстовом процессоре или в инструменте веб-редактирования, например, таком как Adobe Dreamweaver. Значительное большинство веб-сайтов базируется на основе статических страниц. Такая методика является весьма экономичной для публикации в сети информации, которая существенно не изменяется в течение месяцев или даже лет. Многие системы управления веб-содержанием (CMS) также используют статическую публикацию для предоставления веб-содержимого. В CMS страницы создаются и изменяются динамически под управлением базы данных через веб-интерфейс редактирования, но затем («опубликованные») считываются с веб-сервера как обычные статические страницы. Статические страницы являются простыми, безопасными, менее склонными к технологическим ошибкам и сбоям, их хорошо видят поисковые машины.

Динамические веб-страницы

Динамические веб-страницы могут изменять свое содержимое или внешний вид в зависимости от действий пользователей или изменений данных, поддерживаемых приложением, или с течением времени, как на новостных веб-сайтах. Используя сценарии, исполняемые на клиентской стороне (XML, технология Ajax, Flash ActionScript), содержание может быть быстро изменено на компьютере пользователя без запросов к новой странице к веб-серверу. Однако, большинство динамического содержания в сети монтируется с помощью исполняемых на сервере языков программирования (ASP, JSP, Perl, PHP, Python). Оба подхода (исполняемый на стороне клиента и исполняемый на серверной части) используются в разносторонних веб-сайтах с постоянно меняющимся содержанием и сложными интерактивными функциями. Динамические веб-страницы предлагают огромную гибкость, однако процесс обработки уникально собранного содержания при каждом запросе к странице требует быстрого, высококачественного веб-сервера, и даже самый мощный сервер может застрять под грудой, которую создает большое количество запросов к динамическим веб-страницам за короткое время. Если системы обработки динамического веб-содержимого плохо оптимизированы, зачастую они гораздо менее видимы поисковыми машинами, чем статические страницы. Всегда интересуйтесь видимостью поисковых машин при рассмотрении достоинств динамической системы управления веб-содержимым.

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

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

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

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

Что такое статический сайт?

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

Для большей ясности приведу пример. Представьте, что вы сохраняете какую-либо страницу на свой компьютер. Допустим, теперь она хранится в файле "Page.html" Если вы откроете ее при помощи броузера, то увидите все наполнение страницы. Вот примерно в таком виде (как при сохранении на локальный компьютер) статические страницы хранятся на сервере, который только выдает их посетителю.

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

Таких сайтов довольно много, с них, можно сказать, начинался интернет.

Что такое динамический сайт?

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

Рассмотрим процесс генерации динамической страницы подробнее. Если статическая страница не претерпевает практически никаких изменений и попадает на экран к посетителю в своем "первозданном" виде, то динамической страницы, такой, как ее видит человек, на сервере не существует. Она собирается несколькими различными способами из данных, хранящихся на сервере, и только после этого показывается посетителю.

Как же она может собираться? Давайте рассмотрим:

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

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

Приведу еще одну аналогию, чтобы все встало на свои места. Представьте, что смотрите фильм. Кадры сменяют друг друга, сливаясь в одну живую картинку, но если посмотреть на процесс воспроизведения подробнее, вы поймете, что каждый кадр был заранее сохранен, и теперь вы просто видите их последовательность. Вы ничего не можете изменить, не можете вмешаться в события фильма. Уже догадались к чему я клоню? Да, он аналогичен статичному сайту, страницы которого точно так же как кадры фильма, были заранее созданы его автором.

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

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

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

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

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

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

Хочу сразу заметить, что, давая определения, я начинал с описания отдельных страниц. Это было сделано для того, чтобы вам было понятнее, о чем идет речь. Теперь же, при сравнении, я буду рассматривать целые сайты: статические и динамические. Соответственно и преимущества будут касаться именно готовых сайтов, т.к. подчас для страниц они просто не подходят.

Итак, с появлением языков программирования, выполняемых на стороне сервера, появилась возможность вносить изменения в данные отправляемые посетителю. Что же это дало?

  • Разделение информации и дизайна
  • Упрощение модификации и обновления страниц
  • Возможность изменять контент, реагируя на действия посетителя

Давайте рассмотрим каждый пункт поподробнее.

Разделение информации и дизайна сайта

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

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

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

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

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

Упрощение модификации и обновления страниц на сайте

Это преимущество непосредственно вытекает из первого. При рассмотрении предыдущего пункта я уже немного коснулся этого вопроса. Я привел пример с изменением логотипа фирмы на всех страницах сайта. Но ведь сайт требует постоянной модификации, особенно это касается его контента. Информация должна быть свежей.

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

Возможность изменять контент сайта, реагируя на действия посетителя

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

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

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

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

Недостатки динамических сайтов

Как и у всего остального в нашем неидеальном мире, у динамических сайтов есть свои недостатки.

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

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

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

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

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

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

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

Системы управления контентом

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

CMS - это аббревиатура от Content Management System, что в дословном переводе - Система Управления контентом сайта. Проще говоря, это тот самый программный комплекс, который позволяет вам изменять дизайн и наполнение сайта таким образом, как вам требуется.

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

Что же такое "Конструктор для создания сайта e-gloryon "? Это набор инструментов, необходимых для быстрого создания функционального и красивого сайта.

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

формирование по запросу непосредственно на Web-сервере. Для реализации возможности динамического формирования Web-страниц необходимо дать серверу указания, какие файлы являются «обычными», а какие содержат инструкции по их программной обработке. Так, все файлы в соответствующем каталоге Web-сайта, в списке прав доступа к которым есть «выполнение», считаются динамическими, а сервер сам подбирает средство для формирования конкретной страницы при обращении к такому файлу на основе его атрибута и/или расширения его имени. При этом страницу может сформировать либо сам сервер (при помощи специальных команд), либо внешняя программа, запускаемая непосредственно или через CGI-интерфейс (common gateway interface – общий шлюзовой интерфейс). Программа для формирования динамической страницы может быть написана на компилируемом или интерпретируемом языке. Текст программы, содержащий команды для динамического формирования страниц, называется скриптом. Список соответствия атрибутов скриптов внешним программам для их обработки задается в разделе Web-сервер/Обработчики скриптов. Например, по умолчанию скрипты с расширениями *.pl и *.cgi обрабатываются интерпретатором языка Perl;

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

    1. Технология cgi

Вы наверняка сталкивались со страницами, которых ранее не существовало и которые были созданы по вашему запросу динамически – сформированы, как говорится, «на лету».

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

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

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

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

CGI-программу можно представить как часть Web-сервера, которая запускается Web-сервером в реальном времени. Сервер передает запросы пользователя CGI-программе, которая их обрабатывает и возвращает результаты своей работы на экран пользователя (рис. 3). На большинстве Web-серверов CGI-механизм организован следующим образом: создается специальная поддиректория, в которой хранятся подобные программы, и администратор Web-сервера настраивает доступ к ней таким образом, чтобы файлы из нее не считывались, а запускались на выполнение. Результат работы программы отсылается браузеру в ответ на запрос. С точки зрения клиента нет никакой разницы, что находится по адресу данного URL – статический документ или CGI-программа. Браузер воспринимает информацию одинаково независимо от того, сформирована ли она «на лету» или речь идет о статической странице. Результат работы CGI-программы имеет тот же формат, что и статический документ.

Аббревиатура CGI наверняка попадалась вам в строке вашего браузера во время путешествия по Всемирной паутине, и вы, скорее всего, видели ссылку на /cgi-bin/ – директорию, в которой обычно и лежат cgi-программы. Множество интерактивных сервисов, таких как гостевая книга, форум и т.д., построены именно на cgi-программах.

Под термином «CGI» понимают не только программу, но и протокол. В этом смысле CGI – это стандартный для Web-сервера способ передать пользовательский запрос прикладной программе и получить данные назад для передачи их пользователю. Протокол CGI для пересылки данных между сервером и приложением является частью протокола HTTP.

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

Альтернативой CGI является технология компании Microsoft Active Server Page (ASP), построенная по тому же принципу: скрипт, включенный в Web-страницу, выполняется на сервере до того, как страница отсылается пользователю.

Существуют и другие технологии, работающие по тому же принципу.

Как видно на рис. 3, CGI-программа работает на стороне сервера.

Рис.3.

Однако возможно также организовать динамические страницы за счет передачи на клиентский компьютер программ, которые генерируют динамическое содержание страниц уже на стороне клиента (рис. 4).

Рис. 4

Эта технология реализована следующим образом: активные документы хранятся на Web-серверах и скачиваются на локальный компьютер так же, как и статические страницы, но после того, как программа активного документа оказывается на локальном компьютере, она запускается и выполняет определенные вычисления на компьютере пользователя, опираясь на локальные вычислительные ресурсы. А результаты этих вычислений уже отображаются на экране. Соответственно скорость отображения данных на экране не зависит от скорости связи с удаленным сервером, поскольку вывод активного документа происходит только после его загрузки на локальный компьютер. Для создания активных документов могут использоваться различные технологии: приложения, написанные на JavaScript, Java-аплеты и элементы управления ActiveX.

Всемирная паутина

World Wide Web (WWW) - это сеть информационных ресурсов по всему миру. Под ресурсом здесь понимается любая информация доступная пользователям сети. Это может быть как простой текстовый документ, так и программа, архив или некий сервис для пользователя (например, сервис предоставления точного времени).

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

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

Если говорить упрощенно, то браузеры (browsers) это программы отображения HTML документов. То есть, когда вы набираете в строке адреса какой-либо сайт, то браузер загружает html код и отображает его вам как веб страницу. В настоящее время самые популярные браузеры это:

· Microsoft Internet Explorer(IE)

· Безусловный лидер по количеству людей, которые его используют. По различным оценкам доля этого браузера составляет 85-95%. Последнее время его теснит Firefox, но с выходом IE7 у Firefox"а могут быть проблемы в дальнейшем отвоевывании рынка.

· Mozilla Firefox

· Возникший из пепла умирающего Netscape Navigator в конце 90-х этот браузер стремительно набирает обороты. Его популярность это сумма двух составляющих: открытый код и огромное количество расширений (plugin"ов), которые может написать любой желающий. Некоторые из расширений - просто шедевры. Лично я пользуюсь расширением HTML Validator, которое показывает мне html ошибки на веб - странице с подробным описанием ошибки. Это очень помогает при разработке веб - страниц.

· Очень симпатичный браузер от скандинавских программистов. Бесплатный и весьма богатый на функции.

Также существует большое количество браузеров, которые на самом деле используют библиотеки от Internet Explorer.

Статические и динамические страницы

Вы, наверное, часто слышали такие понятия как статические и динамические веб страницы. Здесь важно четко понимать, о чем идет речь, к чему применяются эти понятия.

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

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

· Статические html страницы

· Статические - означает, что страница выглядит всегда одинаково, на зависимо от действий пользователя. Например, меню организованно ссылками на отдельные страницы, а не выпадающим списком.

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

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

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

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

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

Реже используется VBscript(visual basic script). (Microsoft как всегда пошла своим путем.)

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

Статическими называют страницы, если они лежат на сервере в html виде.

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

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

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

1. Браузер запрашивает у сервера документ

2. Сервер определяет, что документ является скриптом и запускает его на выполнение

3. Скрипт генерирует html страницу

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

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

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

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

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

Если же адрес не содержит имени страницы (например, www.neomoon.ru), то сервер будет использовать документ заданный по умолчанию (обычно это либо index.html либо index.htm либо index.php).

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

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

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

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

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

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

  • Статические 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 страничку надо просто прочитать с сервера и отправить браузеру, то скрипт надо сначала запустить и выполнить. К тому же, очень часто скрипты используют систему управления базой данных (СУБД ) для хранения изменяющихся данных.