Что такое HTTP запрос (HTTP сообщение)?

Что такое HTTP запрос (сообщение)HTTP запрос, или сообщение состоит из трех частей: строки запроса, заголовков, и тела HTTP сообщения.

Строка запроса, или стартовая строка: в запросе к серверу — строка, которая содержит тип запроса (метод), URI запрашиваемой страницы, и версия HTTP протокола (например HTTP/1.1). В ответе от сервера эта строка содержит версию HTTP протокола, и код ответа. Код ответа представляет собой целое число из трех цифр. За ним обычно следует отделённая пробелом поясняющая фраза, поясняющая код, например: 200 OK, или 404 Not Found.

Методы (типы) HTTP запроса: GET, POST, PUT, PATCH, HEAD, DELETE, TRACE. Чаще всего в HTTP запросе используются методы GET, или POST: GET — используется для запроса содержимого web-страницы по указанному URI. URI — это адрес страницы без указания домена, например: /internet/chto-takoe-http-zapros-soobshhenie/ вместо webistore.ru/internet/chto-takoe-http-zapros-soobshhenie/. Браузер может передавать параметры в GET в URI после символа «?»: GET /index.php?param1=value1&param2=value2. Кроме обычного метода GET, различают ещё условный GET и частичный GET. Условные запросы GET содержат заголовки If-Modified-SinceIf-MatchIf-Range и подобные.

POST — используется для отправки информации, на сервер. При отправке данных методом POST, они указываются в теле HTTP сообщения, а не в строке ввода адреса в браузере, как это делается при передаче данных методом GET. Например, при отправке комментария через форму, которая расположена под статьей, информация на сервер передается именно методом POST. Так же с помощью метода POST загружают файлы на сервер.

HTTP заголовки — это часть запроса, в котором содержатся различные параметры, которые используются для правильного построения web-страницы.

Тело HTTP сообщения — содержит полученные от сервера данные, например сформированную web-страницу в виде HTML кода, либо ресурс, например картинку.

Пример HTTP сообщений:

HTTP запрос клиента к серверу:

GET /internet/chto-takoe-http-zapros-soobshhenie/ HTTP/1.1 - строка запроса

Заголовки запроса:
Host: webistore.ru
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2150.0
Accept-Encoding: gzip, deflate, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: wp-settings-1=hidetb%3D; wp-settings-time-1=1424958215; wordpress_test_cookie=WP+Cookie;

Ответ от сервера:

HTTP/1.1 200 OK - стартовая строка ответа

Заголовки ответа:
Server: nginx/1.6.2
Date: Sun, 19 Apr 2015 00:22:50 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 9431
Connection: keep-alive
Keep-Alive: timeout=30
X-Powered-By: PHP/5.5.22
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip

Далее следует тело ответа (страница в HTML).

Вы так-же можете прочитать статью взаимодействие между клиентом и сервером для более четкого понимания взаимодействия.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *