Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_OIS-2010.doc
Скачиваний:
205
Добавлен:
02.04.2015
Размер:
1.84 Mб
Скачать
    1. Статические и динамические страницы

татические страницы представляют собой точную копию файлов, лежащих в каталогах 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]