Описание тега 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 данных, например, как мыло или служба отдыха.
Версии
- 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 г.
Ресурсы
- Методы HTTP: GET против POST
- HTTP в сети разработчиков Mozilla
- Протокол передачи гипертекста - стандарты HTTP/1.1 (RTC 2616)