100 Continue è una risposta provvisoria (informativa). Comunica al client che il server ha ricevuto le intestazioni della richiesta, non le ha rifiutate ed è pronto a ricevere il corpo. La risposta definitiva, per esempio 201 Created o 413 Content Too Large, arriva più tardi sulla stessa connessione.
Esiste per i caricamenti di grandi dimensioni. Un client che non vuole inviare megabyte di dati solo per vederseli rifiutare aggiunge Expect: 100-continue alla richiesta e attende qualche istante. Se il server risponde 100 Continue, il client invia il corpo. Se invece il server risponde con un errore definitivo come 401 o 413, il client può evitare il caricamento. Un server che non è in grado di soddisfare l’aspettativa può rispondere 417 Expectation Failed.
I browser non inviano Expect: 100-continue di loro iniziativa. Lo usano le librerie HTTP, gli strumenti da riga di comando come curl e i client API che caricano file. I client non aspettano all’infinito: se entro un breve timeout (in curl, un secondo per impostazione predefinita) non arriva nessun 100, inviano comunque il corpo. I server non devono inviare risposte 1xx ai client HTTP/1.0.
Esempio di risposta
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 dei redirect
Un 100 non arriva mai ai motori di ricerca come stato di una pagina. È sempre seguito da una risposta definitiva, ed è quello stato finale che riportano i crawler e la verifica redirect. Le risposte provvisorie vengono gestite direttamente dal client HTTP, quindi TrueURL mostra lo stato finale di ogni salto e non l’eventuale 100 Continue che lo ha preceduto.
Cause comuni e casi d’uso
- Un client API o curl carica un corpo di grandi dimensioni con
Expect: 100-continuee il server accetta di riceverlo. - Un reverse proxy o un application server risponde all’aspettativa per conto dell’applicazione.
- I caricamenti restano fermi per circa un secondo prima di partire: il client sta aspettando un
100 Continueche il server non invia mai. Disattiva l’aspettativa nel client oppure aggiungine il supporto sul server.