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

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

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

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

Это все методы, поддерживаемые старыми браузерами, но спецификация HTTP 1.1включает в себя еще несколько: PUT, {{Х1}} , {{Х2}} , {{Х3}} , {{Х4}} и { { Х5 }} .

Ответ возвращается с кодом статуса:

  • 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 данных, например, в качестве soapили

Версии

  • HTTP / 0.9- 1991 / 1992
  • HTTP / 1.0 - RFC1945 - май 1996 г.
  • HTTP / 1.1 - RFC2068- январь 1997 г. / RFC2616 - июнь 1999 г.
    • RFC 7230, HTTP / 1.1: синтаксис и маршрутизация сообщений - июнь 2014 г.
    • RFC 7231, HTTP / 1.1: семантика и контент - июнь 2014 года
    • RFC 7232, HTTP / 1.1: условные запросы - июнь 2014 г.
    • RFC 7233, HTTP / 1.1: Запросы диапазона - июнь 2014 г.
    • RFC 7234, HTTP / 1.1: кеширование - июнь 2014 г.
    • RFC 7235, HTTP / 1.1 : Аутентификация - июнь 2014 года
  • HTTP / 2.0 - RFC7540- май 2015 г.

Ресурсы

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

https