Expect

Der Expect HTTP-Anforderungsheader gibt Erwartungen an, die der Server erfüllen muss, um die Anfrage erfolgreich zu bearbeiten.

Bei Expect: 100-continue antwortet der Server mit:

  • 100 (Continue), wenn die Informationen aus dem Anforderungsheader nicht ausreichen, um die Antwort zu bestimmen, und der Client den Body senden sollte.
  • 417 (Expectation Failed), wenn der Server die Erwartung nicht erfüllen kann.

oder einem anderen Status (z. B. ein 4xx-Status bei einem Client-Fehler oder ein 2xx-Status, wenn die Anfrage ohne weitere Verarbeitung erfolgreich erfüllt werden kann).

Zum Beispiel könnte der Server eine Anfrage ablehnen, wenn deren Content-Length zu groß ist.

Keine gängigen Browser senden den Expect-Header, aber einige andere Clients wie cURL tun dies standardmäßig.

Header-Typ Anforderungsheader
Verbotener Header-Name ja

Syntax

http
Expect: 100-continue

Direktiven

Es gibt nur eine definierte Erwartung:

100-continue

Informiert die Empfänger, dass der Client im Begriff ist, einen (vermutlich großen) Nachrichtenkörper in dieser Anfrage zu senden, und wünscht eine 100 (Continue) Zwischenergebnis-Antwort.

Beispiele

Großer Nachrichtenkörper

Ein Client sendet eine Anfrage mit Expect-Header und wartet auf die Antwort des Servers, 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. Der Server sendet 100 (Continue), was den Client anweist, den Nachrichtenkörper zu senden.

Spezifikationen

Specification
HTTP Semantics
# field.expect

Siehe auch