PHP 5 для начинающих

Печать

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

Независимо от вида сообщения (запрос клиента или ответ сервера) каждое HTTP-сообщение имеет один и тот же формат, состоящий из трех разделов:строка запрос/ответ, HTTP-заголовок и HTTP-тело. Содержимое этих частей зависит от того, является ли сообщение запросом или ответом.

HTTP-запрос

HTTP-запрос, который браузер отправляет Web-серверу, содержит строку запроса, заголовок и тело. Ниже приведен пример строки запроса и заголовка.

GET /testpage.htm HTTP/1.1 Accept:*/*

Accept-Language:en-us Connection:Keep-Alive Host:www.wrox.com

Referer:http://webdev.wrox.co.uk/books/SampleList.php?bookcode=3 73 0 User-Agent:Mozilla (X11; I; Linux 2.0.32 i586)

Строка запроса

Первой строкой в каждом HTTP-запросе является строка запроса (request line), содержащая три блока информации:

□ HTTP-команда, которая называется метод (например, GET или POST);

□ путь от сервера к запрашиваемому клиентом ресурсу;

□ номер версии протокола HTTP (например, HTTP 1.1).

Ниже приведен пример строки запроса:GET /testpage.htm HTTP/1.1

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

Метод Описание

GET Запрос на информацию, расположенную по определенному URL-адресу.

Большинство запросов в Internet — GET-запросы (когда пользователь нажимает на гиперссылку, генерируется GET-запрос). Информация, запрашиваемая данным запросом, может быть любой — от HTML- или PHP-страницы, до вывода JavaScript или Perl-программы и т.д. Браузер может отправлять серверу некоторые ограниченные данные в форме расширения URL-строки

HEAD То же, что и GET-метод, однако HEAD-метод запрашивает только HTTP-заголовок без данных

POST Указывает на то, что данные отправляются серверу как часть HTTP-тела

(например, поля формы). Эти данные затем передаются программе обработки данных на Web-сервере

Протокол HTTP поддерживает большое количество других методов, включая PUT, DELETE, TRACE, CONNECT и OPTIONS. Как правило, эти методы менее распространены, поэтому они выходят за рамки материала данной книги. Подробнее данные методы описаны в документе RFC 2068, который можно найти на сайтеwww.rfc.net.