100 Continue

Serwer otrzymał nagłówki żądania; klient powinien wysłać treść.

Kiedy go używać

Wysyłany automatycznie, gdy klient pyta nagłówkiem Expect: 100-continue.

Warto wiedzieć

Klienty wysyłają Expect: 100-continue przed przesłaniem dużego pliku, żeby serwer mógł je odrzucić, np. kodem 401 lub 413, zanim treść przejdzie przez sieć. curl dodaje ten nagłówek automatycznie przy większych treściach POST i PUT; wyłącz go przez curl -H Expect:, jeśli serwer lub proxy źle go obsługuje. Przeglądarki nigdy nie wysyłają Expect, więc 100 spotkasz tylko w bibliotekach HTTP i narzędziach wiersza poleceń.

Jeśli serwer nigdy nie odpowie 100, curl domyślnie czeka sekundę (--expect100-timeout), a potem i tak wysyła treść, co przy niektórych proxy objawia się niewyjaśnionym jednosekundowym opóźnieniem przy każdym przesyłaniu. nginx wysyła 100 automatycznie, gdy zaczyna czytać treść, a Node.js emituje zdarzenie checkContinue, które możesz obsłużyć samodzielnie. Serwer może też pominąć 100 i od razu odpowiedzieć statusem końcowym.

Informacyjne (1xx)

Kody 1xx są informacyjne: serwer odebrał żądanie i wymiana trwa dalej. Przeglądarki i biblioteki HTTP obsługują je za Ciebie.

Jak to wygląda

HTTP/1.1 100 Continue

Jak go sprawdzić

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Otwórz narzędzie Kody statusu HTTP