Expect header

Der HTTP-Expect-Request-Header zeigt an, dass bestimmte Erwartungen erfüllt werden müssen, damit der Server die vollständige Anfrage erfolgreich bearbeiten kann.

Wenn eine Anfrage einen Expect: 100-continue-Header hat, sendet der Server eine 100 Continue-Antwort, um anzuzeigen, dass der Server bereit ist, den Rest des Anfrageinhalts zu empfangen. Das Warten auf eine 100-Antwort kann hilfreich sein, wenn ein Client erwartet, dass ein Fehler wahrscheinlich ist, z. B. beim Senden von zustandsändernden Operationen ohne zuvor verifizierte Authentifizierungsdaten.

Eine 417 Expectation Failed-Antwort wird zurückgegeben, wenn der Server die Erwartung nicht erfüllen kann, oder ein anderer Status (z. B. ein 4XX-Status für einen Clientfehler oder ein 2XX-Status, wenn die Anfrage erfolgreich ohne weitere Verarbeitung abgeschlossen werden kann).

Keine der gängigeren Browser sendet den Expect-Header, aber einige Clients (Kommandozeilenwerkzeuge) tun dies standardmäßig.

Header-Typ Request-Header
Verbotener Request-Header Ja

Syntax

http
Expect: 100-continue

Direktiven

Es gibt nur eine definierte Erwartung:

100-continue

Informiert den Empfänger, dass der Client dabei ist, einen (vermutlich großen) Nachrichtenkörper in dieser Anfrage zu senden und wünscht, eine 100 Continue-Zwischenantwort zu erhalten.

Beispiele

Großer Nachrichtenkörper

Ein Client sendet eine Anfrage mit Expect-Header und wartet darauf, dass der Server antwortet, bevor er den Nachrichtenkörper sendet.

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

Der Server prüft die Header und generiert die Antwort, wobei ein 100 Continue den Client anweist, den Nachrichtenkörper zu senden:

http
HTTP/1.1 100 Continue

Der Client vervollständigt die Anfrage, indem er die tatsächlichen Daten sendet:

http
[Video data as content for PUT request]

Spezifikationen

Specification
HTTP Semantics
# field.expect

Siehe auch