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
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.
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 |