HTTP протокол — это протокол передачи данных. Используется для передачи произвольной текстовой информации. Использует архитектуру клиент — сервер. Используется в сети интернет для передачи данных (загрузки сайтов, ресурсов, данных) между клиентом и сервером. Клиентом в этом случае выступает браузер компьютера.
HTTP протокол работает по схеме «запрос-ответ». То есть браузер посылает запрос серверу, а он отвечает обратно браузеру. Важным параметром является URL адрес, например https://webistore.ru/internet. При вводе URL адреса браузер посылает запрос серверу. Сервер, получив запрос, находит нужный ресурс по URL адресу (web-страницу, изображение, или документ), и посылает его в обратно браузеру.
При взаимодействии клиента и сервера по протоколу HTTP, вместе с данными передаются HTTP заголовки. Есть общие HTTP заголовки, заголовки, которые идут от клиента — HTTP заголовки запроса, и заголовки, которые идут от сервера — HTTP заголовки ответа. В HTTP заголовках запроса обычно содержится запрашиваемый браузером URL адрес, хост (домен), название браузера, куки, типы документов, и т. д. В HTTP заголовках ответа содержится код состояния (200 OK, или 404 Not Found например), имя сервера, тип и длина контента, кодировка web-страницы, и др. HTTP протокол используют в качестве транспорта (основы) для других протоколов, например SOAP, XML-RPC.
Пример HTTP диалога
HTTP запрос клиента (браузера):
GET /internet/vzaimodejstvie-klienta-i-servera/ HTTP/1.1 Host: webistore.ru 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) Referer: https://webistore.ru/ Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8 Cookie: param=ok;
Ответ от сервера:
HTTP/1.1 200 OK Server: nginx/1.6.2 Date: Mon, 30 Mar 2015 13:49:42 GMT Content-Type: text/html; charset=UTF-8 Content-Length: 9748 Connection: keep-alive Keep-Alive: timeout=30 Expires: Wed, 11 Jan 1984 05:00:00 GMT Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache Content-Encoding: gzip (далее следует запрошенная страница в HTML)
Статьи по теме: