Просмотров: 1 614

Строка запроса в протоколе HTTP.

Строка запроса (Request Line) является первым по очередности элементом в общей структуре HTTP-запроса. Давайте рассмотрим основные части, из которых состоит эта строка.

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

Вот так, может выглядеть эта строка на самом деле.

GET /page.php HTTP/1.1

Давайте по очереди рассмотрим каждый элемент в этой строке.

Метод передачи запроса. 

Спецификацией HTTP определен ряд методов, которые позволяют передавать запросы от одного компьютера, к другому.

Вот эти методы:

«GET» | «HEAD» | «PUT» | «POST» | «DELETE» | «LINK» | «UNLINK»

Чаще всего из них используются только два:

1. Метод GET – когда мы вводим URL-адрес к ресурсу в адресную строку браузера, мы обращаемся к серверу методом GET.

11-02-2013 5-28-27

2. Метод POST – используется, когда мы нажимаем на кнопку отправить, заполнив какую-то форму на веб-странице.

11-02-2013 5-29-24

Для каждого из этих методов я планирую написать отдельную статью в будущем.

URL-адрес.

Может быть, как абсолютный, так и относительный путь к ресурсу, к которому нужно обратиться.

При указании абсолютного пути (http://site.ru/), сразу понятно, к какому сайту, на каком сервере мы обращаемся.

Если же написать так: «/page.php» или вообще вот так «/», то становится совсем не понятно, к какому серверу мы обращаемся. На самом деле информация о сервере, может передаваться в запросе ниже, в заголовках. Для этого существует специальный заголовок:

Host: site.ru

В нем-то и можно указать, к какому ресурсу мы обращаемся.

Версия протокола.

На момент написания этой записи, существует три основные версии протокола HTTP.

HTTP/0.9 (принята 1991 год)

HTTP/1.0 (1996 год)

HTTP/1.1 (1999 год)

Сеть бурно развивалась в эти годы, вносились разные корректировки в протокол HTTP.

Чтобы браузер и сервер понимали друг друга, в запросе нужно указывать на какой версии протокола Вы обращаетесь к серверу.

Вникать в особенности функционирования каждой версии протокола совсем не обязательно, важно понимать, что в настоящее время мы работаем на версии HTTP/1.1.