HTTP Status 100 - Continue

Der HTTP-Status-Code 100 Continue ist eine Interims-Response, die dem Client signalisiert, dass der Server den Request Header akzeptiert hat und bereit ist, den Request Body zu empfangen. Dies ermöglicht effiziente Verhandlung vor der Übertragung großer Datenmengen.

Typ

Response-Status-Code

Syntax

Der Status Code wird als Interims-Response vor der finalen Response zurückgegeben.

http
HTTP/1.1 100 Continue
HTTP/2 100

Direktiven

Der 100 Continue Status Code wird in einem zweistufigen Request-Response-Protokoll verwendet.

Expect: 100-continue
Client sendet diesen Request Header, um anzufragen, ob Server den Request Body akzeptieren wird. Server antwortet mit 100 Continue oder direkt mit finalem Status Code.
Large Request Bodies
Besonders nützlich bei großen Uploads (Videos, Dateien), um zu vermeiden, dass der gesamte Body übertragen wird, wenn Server Request ablehnen würde.
Authentication Check
Server kann Header-basierte Authentication prüfen, bevor großer Request Body übertragen wird, spart Bandbreite bei Authentifizierungs-Fehlern.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für Status 100.

Beispiel 1 Large File Upload mit 100 Continue

http
POST /api/videos HTTP/1.1
Host: api.example.com
Content-Type: video/mp4
Content-Length: 524288000
Expect: 100-continue

HTTP/1.1 100 Continue

[Client sendet jetzt 500MB Video Body]

HTTP/1.1 201 Created
Location: /api/videos/abc123

Beispiel 2 Authentication vor Upload

http
PUT /api/documents/contract.pdf HTTP/1.1
Authorization: Bearer invalid-token
Content-Length: 10485760
Expect: 100-continue

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="API"

[Body wird nicht übertragen, spart 10MB Bandbreite]

Beispiel 3 Content Validation vor Upload

http
POST /api/reports HTTP/1.1
Content-Type: application/xml
Content-Length: 5242880
Expect: 100-continue

HTTP/1.1 415 Unsupported Media Type
Accept: application/json, application/pdf

[5MB XML Body wird nicht gesendet, Server akzeptiert nur JSON/PDF]

Large Upload Negotiation Flow

100 Continue Negotiation für Large Upload

Vorteile für die Systemarchitektur

  • Bandbreiten-Effizienz: Verhindert Übertragung großer Request Bodies, wenn Server Request ohnehin ablehnen würde (Authentication, Quota, Media Type)
  • Frühe Validierung: Server kann Header-basierte Checks (Auth, Content-Type, Rate Limiting) durchführen, bevor Client Bandbreite für Body-Upload verwendet
  • Performance-Optimierung: Besonders wertvoll in mobilen Netzwerken und bei großen Datei-Uploads, reduziert unnötigen Traffic und Latenz

Spezifikation

RFC 9110, Section 15.2.1 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-100-continue

Weitere Spezifikationen

Expect Header, POST Method