Expect

Запрос "HTTP Expect" указывает ожидания, которые должен выполнить сервер, чтобы правильно обработать запрос.

Единственным ожиданием, определённым в спецификации, является "Expect: 100-continue", на который сервер должен ответить:

  • 100 если информации, содержащейся в заголовке, достаточно, чтобы вызвать немедленный успех,
  • 417 (Expectation Failed) если он не может удовлетворить ожидания; или любой другой статус 4xx..

Например, сервер может отклонить запрос, если его Content-Length слишком большой.

Обычные браузеры не отправляют заголовок Expect, но некоторые другие , такие как cURL, делают это по умолчанию.

Header type Request header
Forbidden header name no

Синтаксис

Никаких других ожиданий, кроме «100-continue», не указано

Expect: 100-continue

Директивы

100-continue

Сообщает получателям, что клиент собирается отправить (по-видимому большой) тело сообщения в этот запрос и хочет получить промежуточный ответ 100 (Continue).

Примеры

Большой текст сообщения

Клиент отправляет запрос с заголовком Expect и ожидает ответа сервера перед отправкой тела сообщения.

PUT /somewhere/fun HTTP/1.1
Host: origin.example.com
Content-Type: video/h264
Content-Length: 1234567890987
Expect: 100-continue

Сервер теперь проверяет запрос и может ответить с ответом 100 (Continue), чтобы дать клиенту указание продолжить и отправить тело сообщения, или он отправит 417 (Expectation Failed), если какие-либо из ожиданий не могут быть выполнены.

Характеристики

Спецификация Название
RFC 7231, раздел 5.1.1: Expect Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Совместимость с браузерами

Смотрите также

  • 417 Expectation Failed
  • 100 Continue