Expect
O cabeçalho de requisição HTTP Expect
indica expectativas que precisão ser cumpridas pelo servidor para lidar com a requisição apropriadamente.
A única expectativa definida na especificação é Expect: 100-continue
, para qual o servidor deve responder com:
100
se a informação contida no cabeçalho é suficiente para causar sucesso imediato,417
(Expectativa Falhou) se ele não pode se comprometer com a expectativa; ou qualquer outro código de status 4xx caso contrário.
Por exemplo, o servidor pode rejeitar a requisição se o cabeçalho Content-Length
for muito grande.
Navegadores comuns não enviam um cabeçalho Expect
, mas alguns clientes como o cURL fazem isso por padrão.
Tipo de cabeçalho | Request header |
---|---|
Forbidden header name | sim |
Sintaxe
Nenhuma outra expectativa exceto "100-continue" foi especificada atualmente.
Expect: 100-continue
Diretivas
- 100-continue
-
Informa os receptores que o cliente está para mandar uma mensagem com corpo (presumidamente grande) na requisição e deseja receber um código de status
100
(Continue) como resposta interina.
Exemplos
Mensagem de corpo grande
Um cliente envia uma requisição com cabeçalho Expect e aguarda a resposta do servidor antes de mandar o corpo da mensagem.
PUT /somewhere/fun HTTP/1.1 Host: origin.example.com Content-Type: video/h264 Content-Length: 1234567890987 Expect: 100-continue
O servidor checa os cabeçalhos da requisição e responde com uma resposta 100
(Continue) para instruir o cliente a continuar e enviar o corpo da mensagem, ou ele irá mandar um código de status 417
(Expectativa Falhou) se qualquer uma das expectativas não pode ser cumprida.
Especificações
Especificação | Título |
---|---|
RFC 7231, sessão 5.1.1: Expect | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |