Http-серверы
Одним из ключевых понятий применительно к принципам реализации ресурсов Интернета является организация передачи данных согласно схеме «клиент-сервер».
|
Системой «клиент-сервер» называют механизм передачи информации между удаленным компьютером, предоставляющим свои ресурсы в распоряжение пользователей, и пользовательским компьютером, эксплуатирующим эти ресурсы. В данном случае компьютер, открывающий доступ к собственным ресурсам, носит название «сервера», а получающий такой доступ – «клиента» |
Серверы могут быть разными, причем отличия заключаются, прежде всего, в операционной системе, под управлением которой они работают. В настоящее время на большинстве интернетовских узлов используют два типа серверных программ: либо Internet Information Server, рассчитанный на работу под Windows NT, либо Apache, предназначенный для платформ, совместимых со стандартом UNIX. Эти программы называются web-сервером или http-cepвером. Как правило, серверы работают на линиях с большой пропускной способностью, например, в сетях с оптоволоконными каналами связи.
|
Web-сервер – это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Web-сервером называют как программное обеспечение, выполняющее функции http-сервера, так и непосредственно компьютер, на котором это программное обеспечение работает. |
Помимо соответствующей программы, настоящий сервер должен иметь собственный домен, то есть адрес DNS, отвечающий стандартам Domain Name System. Для локальных web-серверов аналогом DNS адреса является localhost. Когда некоторый компьютер связывается с сервером и получает от него все необходимые данные, например код web-страницы, он выступает в роли «клиента». Также клиентами часто называют специальные программы, при помощи которых можно просматривать страницы в Internet – так называемые, браузеры.
|
Web-браузер (Web-browser) – программное обеспечение для просмотра web-сайтов, то есть для запроса web-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой. Большинство браузеров умеют также показывать оглавление FTP-серверов. |
Владелец и администратор сервера могут гибко менять необходимые настройки, разрешать или запрещать доступ к его ресурсам, подключать, настраивать и запускать ряд дополнительных программ и функций, таких как скрипты CGI или приложения SSI, то есть полностью конфигурировать его работу по мере необходимости.
Для загрузки web-страницы в клиентский броузер тот посылает установленной на серверном компьютере специальной программе, называемой http-сервером,соответствующий запрос и обрабатывает полученные от него данные. В данном случае функции броузера состоят в том, чтобы запросить у сервера определенную страницу, получить ее и отобразить на экране пользователя. Сервер же принимает запрос, ищет запрошенный документ и выдает клиенту либо содержимое найденного файла, либо сообщение об ошибке, если такой файл не был найден или доступ к нему почему-либо запрещен.
Для того, чтобы реализовывать динамические страницы, которые функционируют на стороне клиента широко используется язык JavaScript.
|
JavaScript – объектно-ориентированный скриптовый язык программирования. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах, как язык сценариев для придания интерактивности web-страницам. |
Технология CGI (Common Gateway Interface) подразумевает использование в составе ресурса Интернет интерактивных элементов на базе приложений, обеспечивающих передачу потока данных от объекта к объекту. В общем случае принцип работы CGI выглядит следующим образом: пользователь заполняет на web-страничке форму и нажимает на кнопку (возможно, другое действие, инициирующее обращение к CGI-скрипту на сервере), после чего встроенная в код HTML строка вызова CGI-скрипта запускает соответствующую программу CGI на сервере и передает ей управление процессом обработки информации. Введенные пользователем данные отсылаются этой программе, а она, в свою очередь, обрабатывает их и в результате осуществляет некоторые действия (обычно включающие в себя формирование ответа клиенту). Скрипты CGI размещаются на сервере в специально отведенной для этих целей директории, которой, как правило, назначается имя CGI-BIN. Следует помнить, что подключение, отладка и запуск таких программ требуют соответствующих прав доступа к http-серверу. Подобные программы имеют расширение .cgi.
|
CGI (Common Gateway Interface, Общий интерфейс шлюза) – стандарт интерфейса, используемого для связи внешней программы с web-сервером. Программу, которая работает по такому интерфейсу совместно с web-сервером, часто называют «скриптом» (сценарием) или «CGI-программой». |
В том случае, если нет необходимости обрабатывать на сервере данные, передаваемые клиентом, а нужно просто получить некоторый ресурс по его идентификатору URI, тогда на сервер передается только адрес интересующего ресурса. Сервер же просто пересылает клиенту запрашиваемый ресурс. В случае, когда запрашивается web-страница, ресурсом является файл на сервере, оформленный на основании стандарта языка HTML.
|
HTML (HyperText Markup Language, язык разметки гипертекста) – стандартный язык разметки документов в WWW. Большинство web-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузерами и отображается в виде документа, в удобной для человека форме. |
SSI – технология, тесно переплетенная с, упомянутой выше CGI. На основе макроязыка, очень напоминающего С, SSI позволяет реализовать такие возможности, как вывод в документе того или иного текста в зависимости от определенных условий или согласно заданному алгоритму, формировать файл HTML из динамически изменяющихся фрагментов или встраивать результат работы CGI в какой-либо его участок. Реализован в web-сервере Apache при помощи модуля mod_include. Включённая в настройках по умолчанию web-сервера возможность позволяет подключать HTML-файлы, поэтому для использования инструкций файл должен оканчиваться расширением .shtml, .stm или .shtm
Зачастую у web-дизайнера возникает необходимость применить в процессе создания html-документа сложное форматирование – от абзаца к абзацу менять шрифт, расположение текста, его цвет, формировать различные таблицы данных. Можно решить эту проблему с помощью стандартных средств HTML: описывать каждый абзац отдельным набором команд, но в этом случае итоговый документ будет иметь большой размер, да и само создание кода становится весьма трудоемкой работой. Можно пойти другим путем: подключить к странице внешний файл, выполненный в стандарте CSS, в котором с помощью специального макроязыка один раз жестко задать форматирование страницы. Другими словами, файл CSS выполняет роль шаблона, применяемого для форматирования текста, таблиц и иных элементов в документе HTML. Есть возможность подключать один и тот же физический файл CSS к различным web-страницам сайта. CSS можно использовать практически на любом сервере без каких-либо ограничений.
|
CSS (Cascading Style Sheets, каскадные таблицы стилей) – формальный язык описания внешнего вида документа, написанного с использованием языка разметки. Преимущественно используется как средство описания, оформления внешнего вида web-страниц, написанных с помощью языков разметки HTML и XHTML. |
РНР – это интерпретируемый язык, предназначенный для придания web-страницам интерактивности. Код, написанный на языке РНР, встраивается в документ HTML подобно подпрограмме: в тот участок документа, где необходимо разместить интерактивный элемент, просто вставляется сценарий РНР. Методики, которые позволяют серверам корректно распознавать файлы, содержащие скрипты РНР, различны и зависят в первую очередь от типа конкретного сервера. Считается достаточным назначить такому файлу расширение .php, иногда, с добавлением номера версии используемого языка, например .php2 или .php3.
|
PHP (Hypertext Preprocessor, препроцессор гипертекста) – скриптовый язык программирования общего назначения, интенсивно применяемый для разработки web-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических web-сайтов. |
ASP (Active Server Pages, активные страницы сервера) — еще одна технология, аналогичная РНР. Для того чтобы сделать web-страницу интерактивной с применением технологии ASP, необходимо встроить в ее код соответствующий скрипт, написанный на макроязыке. Скрипт интерпретируется и исполняется непосредственно на сервере, после чего пользовательскому броузеру отправляется уже готовый html-документ с результатами работы сценария ASP. Развитие ASP получило в ASP.NET.
|
ASP.NET – технология создания web-приложений и web-сервисов от компании Microsoft. Она является составной частью платформы Microsoft.NET и развитием более старой технологии Microsoft ASP. |
Принципиальное значение имеет тип сервера, на котором планируется использовать ASP или ASP.NET, поскольку отнюдь не все они поддерживают данную технологию.
Общая схема функционирования системы «клиент сервер» приведена на рисунке 1.1.
|
Найдите самостоятельно определение термина AJAX. Попробуйте объяснить, почему связи на рис. 1.1, входящие и выходящие из блока «AJAX» поставлены именно таким образом. |
Рисунок 1.1 – Общая схема функционирования схемы «Клиент-Сервер» в Internet
_____________________________________________________________________________________