В HTTP-протоколе определены такие методы запросов, как GET, HEAD, PUT, DELETE. TRACE, OPTIONS и CONNECT. Наиболее часто используемыми методами являются GET и POST.
Метод GET
Метод GET является самым простым методом запроса. Он используется при формировании запроса к web-серверу, когда пользователь вводит URL в адресную строку браузера, переходит по гиперссылке или выбирает одну из закладок на ранее посещаемые страницы.
Кроме этого, метод GET будет использоваться при отправке данных HTML-формы (в результате нажатия клавиши типа submit), у которой задан атрибут «metod="GET» «(пример показан на рис. 1.4).
Рис. 1.4. Отображение HTML-формы в браузере (а) и ее описание в странице (б).
В данной HTML-форме описано поле s, которому пользователь задает значение YHOO. В результате нажатия кнопки «Get Quote» будет формироваться следующий НТТР-запрос:
GET /q?s=YHOO НТТР/1.1 Host: finance.yahoo.com.
User-Agent: Mozilla/5.0 (Windows; U; Windows XP; en-US; rv:1.8.0.11).
Значение поля передается s в виде параметра? s=YHOO.
Метод POST
Основное отличие между методами GET и POST состоит в том, что POST-запросы имеют тело: некоторое содержание, которое следует за блоком заголовков и отделено от него пустой строкой.
Если в форме, показанной на рис. 1.4, изменить используемый метод на POST, т. е. metod-'POST'', то браузер сформирует следующий HTTP-запрос, в котором передаваемые параметры (данные) формы будут записаны в теле запроса:
POST /q НТТР/1.1.
Host: finance.yahoo.com.
User-Agent: Mozilla/4.75 [en] (WinNT; U).
Content-Type: application/x-www-form-urlencoded Content-Length: 6.
s=YHOO.