HTTP Trailer Header

Der HTTP-Header Trailer ist ein Response-Header, der ankündigt, welche Header-Felder am Ende einer Chunked-Transfer-Encoding-Nachricht folgen werden. Dies ermöglicht Metadaten wie Checksummen nach der Stream-Übertragung.

Typ

Response-Header

Syntax

Der Header listet die Namen der Header-Felder auf, die als Trailer folgen werden.

http
Trailer: Content-Digest
Trailer: Content-Digest, Server-Timing

Direktiven

Die Direktiven definieren, welche Header am Ende der Chunked-Message erscheinen.

<header-name>
Name eines Header-Feldes, das nach dem letzten Chunk folgt. Mehrere Header werden durch Kommata getrennt.
Einschränkungen
Bestimmte Header dürfen nicht als Trailer verwendet werden: Transfer-Encoding, Content-Length, Host, Cache-Control, Max-Forwards, TE, Authorization, Set-Cookie, Content-Encoding, Content-Type, Content-Range, Trailer.

Beispiele

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

Beispiel 1 Integritaetspruefung nach Streaming

http
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Trailer: Content-Digest

7\r\n
Mozilla\r\n
11\r\n
Developer Network\r\n
0\r\n
Content-Digest: sha-256=:X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=:
\r\n

Server streamt große Datei und berechnet SHA-256-Hash während der Übertragung, Digest-Header wird erst nach vollständigem Transfer gesendet.

Beispiel 2 Server Timing Metriken

http
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Trailer: Server-Timing

5\r\n
chunk\r\n
0\r\n
Server-Timing: db;dur=53, app;dur=147.2
\r\n

API-Server liefert Performance-Metriken als Trailer, da diese erst nach Verarbeitung aller Chunks bekannt sind.

Beispiel 3 Mehrere Trailer Felder

http
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Trailer: Content-Digest, Expires

a\r\n
chunk data\r\n
0\r\n
Content-Digest: sha-512=:WZDPaVn/7XgHaAy8pmojAkGWoRx2UFChF41A2svX+TaPm+AbwAgBWnrIiYllu7BNNyealdVLvRwEmTHWXvJwew==:
Expires: Wed, 21 Oct 2025 07:28:00 GMT
\r\n

CDN-Server kombiniert Integrität und Cache-Ablauf als Trailer nach Chunked-Übertragung.

Chunked Transfer Flow

Chunked Transfer Encoding mit Trailer

Vorteile für die Systemarchitektur

  • Streaming mit Integrität: Hash-Berechnung während Übertragung ohne Memory-Overhead
  • Nachträgliche Metadaten: Performance-Metriken können erst nach vollständiger Verarbeitung bekannt sein
  • Effiziente große Transfers: Ermöglicht Server-Push ohne Buffering der kompletten Response

Spezifikation

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

Weitere Spezifikationen

Transfer-Encoding Header, Content-Digest Header