HTTP Content-Length Header

Der HTTP-Header Content-Length gibt die Größe des Message Body in Bytes (Oktetten) an. Er wird sowohl in Requests als auch Responses verwendet und ist essentiell für Protokoll-Implementierungen, um zu wissen, wann eine HTTP-Nachricht vollständig empfangen wurde.

Typ

Request- und Response-Header

Syntax

Der Header enthält die Anzahl der Bytes des Message Body als Dezimalzahl.

http
Content-Length: 348
Content-Length: 0

Direktiven

Der Content-Length-Header hat nur eine Direktive mit einem numerischen Wert.

length
Die Länge des Message Body in Bytes (Oktetten) als nicht-negative Ganzzahl. Bei fehlendem Body ist der Wert 0.
precision
Der Wert muss exakt der tatsächlichen Body-Länge entsprechen. Abweichungen führen zu Protokollverletzungen.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den Content-Length-Header.

Beispiel 1 JSON API Response

http
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 45

{"id":123,"status":"active","count":42}

Beispiel 2 POST Request mit Body

http
POST /api/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
Content-Length: 56

{"username":"jdoe","email":"jdoe@example.com"}

Beispiel 3 Empty Body Response

http
HTTP/1.1 204 No Content
Content-Length: 0

Upload Progress Flow

Content-Length ermöglicht Upload-Fortschrittsanzeige

Vorteile für die Systemarchitektur

  • Connection Management: Server können HTTP-Verbindungen effizient verwalten und wissen, wann eine Nachricht vollständig ist
  • Progress Monitoring: Clients und Server können Upload/Download-Fortschritt berechnen für bessere User Experience
  • Resource Planning: APIs können frühzeitig prüfen, ob ausreichend Speicher oder Bandbreite für große Requests verfügbar ist

Spezifikation

RFC 9110, Section 8.6 – HTTP Semantics https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length

Weitere Spezifikationen

Content-Type Header, Transfer-Encoding Header