Протокол передачи гипертекста (HTTP) - это сетевой протокол прикладного уровня, который используется для передачи контента во всемирной паутине.

Протокол передачи гипертекста (HTTP) использует модель клиент-запрос / сервер-ответ. Протокол не имеет состояния, что означает, что он не требует, чтобы сервер сохранял информацию или статус о каждом пользователе в течение нескольких запросов. Однако по соображениям производительности и во избежание проблем с задержкой соединения TCP могут использоваться такие методы, как постоянные, параллельные или конвейерные соединения.

Запрос отправляется методом HTTP:

  • HEAD - используется для получения GET заголовок ответа без фактического содержимого (т. е. только метаданные в содержимом).
  • GET - используется для получения данных, при этом тело запроса игнорируется.
  • POST - используется для отправки данных, содержащихся в теле запроса, на сервер.

Все эти методы поддерживаются старыми браузерами, но спецификация HTTP 1.1 включает еще несколько:PUT, DELETE, TRACE, OPTIONS, CONNECT а также PATCH.

В ответ возвращается код состояния:

  • 1xx информационные
  • 2xx указывает на успех, на большинстве страниц будет 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 или DEFLATE.

Запросу требуется тело, если он отправляет дополнительные данные на сервер, например, если отправляет информацию, введенную в форму.

Заголовки ответа будут включать информацию, сообщающую клиенту, как обращаться с данными ответа, например, могут ли они кэшировать данные (и как долго).

В теле ответа будут запрошенные данные, такие как HTML-код веб-страницы или данные изображения.

HTTP используется браузерами для получения веб-контента, но также может использоваться для API данных, например, как мыло или служба отдыха.

Версии

Ресурсы

Связанные теги

https