Строка запроса (Request Line) является первым по очередности элементом в общей структуре HTTP-запроса. Давайте рассмотрим основные части, из которых состоит эта строка.
Вот так, может выглядеть эта строка на самом деле.
GET /page.php HTTP/1.1
Давайте по очереди рассмотрим каждый элемент в этой строке.
Метод передачи запроса.
Спецификацией HTTP определен ряд методов, которые позволяют передавать запросы от одного компьютера, к другому.
Вот эти методы:
"GET" | "HEAD" | "PUT" | "POST" | "DELETE" | "LINK" | "UNLINK"
Чаще всего из них используются только два:
1. Метод GET – когда мы вводим URL-адрес к ресурсу в адресную строку браузера, мы обращаемся к серверу методом GET.
2. Метод POST – используется, когда мы нажимаем на кнопку отправить, заполнив какую-то форму на веб-странице.
Для каждого из этих методов я планирую написать отдельную статью в будущем.
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.
Больше моих уроков по серверному программированию здесь.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти