100 Continue é uma resposta provisória (informativa). Ela informa ao cliente que o servidor recebeu os cabeçalhos da requisição, não os rejeitou e está pronto para receber o corpo. A resposta final, por exemplo 201 Created ou 413 Content Too Large, vem depois, na mesma conexão.
Ela existe por causa dos uploads grandes. Um cliente que não quer enviar megabytes de dados só para vê-los recusados adiciona Expect: 100-continue à requisição e espera um pouco. Se o servidor responder 100 Continue, o cliente envia o corpo. Se o servidor responder com um erro final, como 401 ou 413, o cliente pode pular o upload. Um servidor que não consegue atender à expectativa pode responder 417 Expectation Failed.
Os navegadores não enviam Expect: 100-continue por conta própria. Esse cabeçalho é usado por bibliotecas HTTP, ferramentas de linha de comando como o curl e clientes de API que fazem upload de arquivos. Os clientes não esperam para sempre: se nenhum 100 chegar dentro de um tempo limite curto (um segundo, por padrão, no curl), eles enviam o corpo mesmo assim. Os servidores não devem enviar respostas 1xx a clientes HTTP/1.0.
Exemplo de resposta
HTTP/1.1 100 Continue
HTTP/1.1 201 Created
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: /uploads/7f3c9a2e
Content-Length: 0 SEO e verificação de redirecionamentos
Um 100 nunca chega aos mecanismos de busca como status de uma página. Ele é sempre seguido por uma resposta final, e é esse status final que os rastreadores e o verificador de redirecionamento informam. As respostas provisórias são consumidas pelo cliente HTTP; por isso, o TrueURL mostra o status final de cada salto, e não um eventual 100 Continue que tenha vindo antes dele.
Causas comuns e casos de uso
- Um cliente de API ou o curl faz upload de um corpo grande com
Expect: 100-continue, e o servidor aceita recebê-lo. - Um proxy reverso ou servidor de aplicação responde à expectativa em nome da aplicação.
- Os uploads ficam parados por cerca de um segundo antes de começar: o cliente está esperando um
100 Continueque o servidor nunca envia. Desative a expectativa no cliente ou passe a dar suporte a ela no servidor.