HTTP Content-Disposition Header

Der HTTP-Header Content-Disposition ist ein Response-Header, der angibt, ob der Content als Download gespeichert oder inline im Browser angezeigt werden soll. Er definiert auch den vorgeschlagenen Dateinamen für Downloads.

Typ

Response-Header

Syntax

Der Header gibt Disposition-Typ und optionalen Dateinamen an.

http
Content-Disposition: attachment; filename="report.pdf"
Content-Disposition: inline

Direktiven

Die Direktiven steuern Browser-Verhalten für Response-Content.

attachment
Content soll als Download gespeichert werden. Browser öffnet Save-Dialog.
inline
Content soll im Browser angezeigt werden wenn möglich (Standard-Verhalten).
filename=<name>
Vorgeschlagener Dateiname für Download. ASCII-Zeichen, in Quotes.
filename*=<encoded-name>
UTF-8-kodierter Dateiname nach RFC 5987 für internationale Zeichen.

Beispiele

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

Beispiel 1 PDF-Download

http
Content-Disposition: attachment; filename="invoice-2024-03.pdf"
Content-Type: application/pdf

Browser öffnet Save-Dialog mit vorgeschlagenem Filename. PDF wird nicht inline angezeigt.

Beispiel 2 Inline-Anzeige

http
Content-Disposition: inline
Content-Type: image/jpeg

Bild wird direkt im Browser-Tab angezeigt statt Download-Dialog zu öffnen.

Beispiel 3 UTF-8 Filename

http
Content-Disposition: attachment; filename="report.pdf"; filename*=UTF-8''Bericht%202024%20M%C3%A4rz.pdf
Content-Type: application/pdf

Download mit internationalen Zeichen (Umlaute) im Filename, fallback auf ASCII-Version.

File Download Flow

Content-Disposition Download-Flow für File-Downloads

Vorteile für die Systemarchitektur

  • Klare Download-Semantik: Explizite Kontrolle ob Content im Browser oder als Download behandelt wird
  • User-Experience: Sinnvolle Default-Filenamen vereinfachen Download-Handling
  • API-Flexibilität: Gleicher Endpoint kann inline oder als Download dienen je nach Use-Case

Spezifikation

RFC 6266 – Content-Disposition in HTTP https://www.rfc-editor.org/rfc/rfc6266.html

Weitere Spezifikationen

Content-Type Header, Content-Length Header