Взаимодействие с web-сервером
Узлы Всемирной Паутины - это разбросанные по всему миру миллионы web-серверов. Самым популярным и распространенным в сети Интернет остается web-сервер Apache (www.apache.org), распространяемый свободно с открытыми исходными текстами. Хорошо спроектированная архитектура сервера позволяет подключать к нему модули для расширения функциональности сервера. Одним из популярнейших модулей расширения стал mod_perl, который позволяет интегрировать интерпретатор perl с сервером Apache. Это позволяет не только кардинально увеличить скорость работы CGI-программ, но и разрабатывать на Perl собственные модули, получая полный контроль за выполнением клиентских запросов.
Web-сервер общается с клиентскими программами по протоколу передачи гипертекста HTTP (Hypertext Transfer Protocol). Поскольку весь остальной материал этой лекции связан с передачей данных по указанному протоколу, познакомимся с ним поближе. В соответствии с протоколом HTTP запрос состоит из трех частей, которые приведены в таблице 18.1.
Строка запроса | содержит команду, называемую методом, например, GET для запроса ресурса или POST для отправки данных на сервер, и имя ресурса | GET /index.html HTTP/1.1 |
POST /cgi-bin/guestbook.pl HTTP/1.0 | ||
Заголовки запроса | содержат дополнительную информацию, например, данные о клиенте или указания о языке и кодировке ответа, которые предпочитает клиент | User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.8.0.1) Gecko/20060130 SeaMonkey/1.0 |
Accept-Language: "ru-ru,ru; q=0.8,en-us;q=0.5,en;q=0.3" | ||
Тело запроса | в нем может содержаться передаваемая на сервер информация (например, данные из полей HTML-формы). | nick=Ray&email=ray@conchilomania.ru&comments=Your%20photos%20and%20info%20about%20perl%20are%20fine! |
Сервер обрабатывает поступающие от клиентов запросы на расположенные на сервере ресурсы. Если затребован существующий файл, то он отправляется сервером клиенту. Если запрошено обращение к CGI-программе, то сервер запускает ее и отправляет клиенту результат ее выполнения. Ответ HTTP-сервера также состоит из трех частей, которые приведены в таблице 18.2.
Строка ответа | содержит цифровой код ответа и текстовое описание состояния запроса | HTTP/1.0 200 Document follows |
HTTP/1.1 404 Not Found | ||
HTTP/1.0 500 Internal Server Error | ||
Заголовки ответа | содержат дополнительную информацию, например, данные о типе и длине посылаемого ресурса | Content-type: text/html |
Content-length: 1025 | ||
Тело ответа | содержит передаваемые данные | <html>...</html> |
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий