Expect header

Der HTTP Expect Request-Header zeigt an, dass bestimmte Erwartungen vom Server erfüllt werden müssen, um die gesamte Anfrage erfolgreich zu bearbeiten.

Wenn eine Anfrage einen Expect: 100-continue Header enthält, sendet ein Server eine 100 Continue-Antwort, um anzuzeigen, dass der Server bereit oder in der Lage ist, den Rest des Anfrageninhalts zu empfangen. Auf eine 100-Antwort zu warten, kann hilfreich sein, wenn ein Client voraussieht, dass ein Fehler wahrscheinlich ist, zum Beispiel beim Senden von zustandsändernden Operationen ohne vorher verifizierte Authentifizierungsdaten.

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

Keiner der gängigeren Browser sendet den Expect-Header, aber einige Clients (Kommandozeilen-Tools) 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 Empfänger, dass der Client im Begriff ist, einen (vermutlich großen) Nachrichteninhalt in dieser Anfrage zu senden und wünscht eine 100 Continue Zwischenantwort zu erhalten.

Beispiele

Großer Nachrichteninhalt

Ein Client sendet eine Anfrage mit Expect-Header und wartet darauf, dass der Server antwortet, bevor der Nachrichteninhalt gesendet wird.

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

Der Server überprüft die Header und generiert die Antwort, wobei eine 100 Continue den Client anweist, den Nachrichteninhalt 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