Протокол передачи гипертекста (HTTP) является сетевым протоколом прикладного уровня, который используется для передачи содержания во Всемирной паутине.
Протокол передачи гипертекста (HTTP) использует client-request/server-response модель. Протокол является не сохраняющим состояние, что означает, что он не требует, чтобы сервер сохранил информацию или состояние о каждом пользователе на время нескольких запросов. Однако по причинам производительности и избегать проблем задержки соединения TCP, методы как персистентные, параллельные или конвейерные соединения могут использоваться.
Запрос отправлен с методом HTTP:
HEAD
- используемый для получения GET
заголовок ответа без фактического содержания (т.е. просто метаданные в содержании).GET
- используемый для получения данных, где тело запроса проигнорировано.POST
- используемый для отправки данных, содержавшихся в теле запроса, к серверу. Это все методы, поддерживаемые более старыми браузерами, но спецификация HTTP 1.1 включает еще много: PUT
, DELETE
, TRACE
, OPTIONS
, CONNECT
и PATCH
.
Ответ возвращается с кодом состояния:
1xx
являются информационными2xx
указывает на успех, большинство страниц будет иметь a 200
состояние3xx
используются для перенаправлений4xx
коды используются для ошибок с запросом, самым общим существом 404
для "Страницы, не найденной"5xx
используются для ошибок сервераИ запрос и ответ составлены из заголовка и дополнительного тела.
Заголовок содержит список пар "ключ-значение", разделенных новых строк использования и двоеточий. Например, запрос может иметь заголовки как это:
Proxy-Connection: keep-alive Referer: URL User-Agent: browser name or client application Accept-Encoding: gzip,deflate Accept-Language: en-GB
Обратите внимание, что в примере запрос говорит серверу, что ответ может быть отправлен с телом, сжатым или с gzip, или ВЫКАЧАТЬ кодирование.
Запросу нужно тело, если он отправляет дополнительные данные на сервер, например, если отправка информации ввела в форму.
Заголовки ответа будут включать информацию, говоря клиенту, как иметь дело с данными ответа, например, могут ли они кэшировать данные (и сколько времени для).
Орган по ответу будет иметь запрошенные данные, такие как HTML веб-страницы или данных изображения.
HTTP используется браузерами для получения веб-контента, но может также использоваться для API данных, например, как сервис отдыха или мыло.