Expect

Der HTTP Expect Request-Header gibt an, dass es Erwartungen gibt, die vom Server erfüllt werden müssen, um die vollständige 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 Anfrageinhalts zu empfangen. Auf eine 100 Antwort zu warten, kann hilfreich sein, wenn ein Client erwartet, dass wahrscheinlich ein Fehler auftritt, zum Beispiel wenn Status-verändernde Operationen ohne vorher verifizierte Authentifizierungs-Credentials gesendet werden.

Eine 417 Expectation Failed Antwort wird zurückgegeben, falls der Server die Erwartung nicht erfüllen kann oder jede andere Statusantwort, wie z.B. ein 4XX Status für einen Client-Fehler oder ein 2XX Status, wenn die Anfrage erfolgreich ohne weitere Verarbeitung gelöst werden kann.

Keiner der gebräuchlicheren 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 Empfänger darüber, dass der Client im Begriff ist, einen (vermutlich großen) Nachrichtenkörper in dieser Anfrage zu senden und eine 100 Continue Zwischenantwort wünscht.

Beispiele

Großer Nachrichtenkörper

Ein Client sendet eine Anfrage mit Expect Header und wartet, bis 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 überprüft die Header und erzeugt die Antwort, wobei eine 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