HTTP X-Content-Type-Options Header

Der HTTP-Header X-Content-Type-Options ist ein Response-Header, der Browser anweist, MIME-Type Sniffing zu deaktivieren. Er erzwingt strikte Content-Type-Interpretation und verhindert XSS-Angriffe durch falsch deklarierte Ressourcen.

Typ

Response-Header

Syntax

Der Header hat nur einen gültigen Wert.

http
X-Content-Type-Options: nosniff

Direktiven

Die Direktiven definieren MIME-Sniffing-Verhalten.

nosniff
Einziger gültiger Wert, deaktiviert MIME-Type Sniffing. Browser interpretieren Ressourcen strikt nach Content-Type Header, laden JavaScript nur bei text/javascript oder application/javascript.

Beispiele

Nachfolgend finden Sie praktische Anwendungsbeispiele für den X-Content-Type-Options-Header.

Beispiel 1 JavaScript mit nosniff

http
GET /app.js HTTP/1.1
Host: example.com

HTTP/1.1 200 OK
Content-Type: application/javascript
X-Content-Type-Options: nosniff
Cache-Control: public, max-age=31536000

function app() { ... }

JavaScript-Datei wird nur als Script ausgeführt bei korrektem Content-Type, verhindert XSS durch falsche Deklaration.

Beispiel 2 HTML Document Protection

http
GET /user-content.html HTTP/1.1
Host: ugc.example.com

HTTP/1.1 200 OK
Content-Type: text/html
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'none'

<!DOCTYPE html>...User Generated Content...

User-Generated-Content wird strikt als HTML interpretiert, verhindert Script-Execution durch MIME-Confusion.

Beispiel 3 API JSON Response

http
GET /api/data HTTP/1.1
Host: api.example.com

HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff

{"users": [...]}

API-Response wird nur als JSON geparst, Browser führt nicht als Script aus selbst bei <script src> Einbettung.

Vorteile für die Systemarchitektur

  • XSS-Prävention: Verhindert dass Browser Nicht-Script-Ressourcen als JavaScript interpretieren
  • Content-Type Enforcement: Erzwingt korrekte Content-Type Deklaration in Development und Production
  • Defense in Depth: Ergänzt Content-Security-Policy für mehrschichtige XSS-Abwehr

Spezifikation

WHATWG Fetch Standard, MIME Type https://fetch.spec.whatwg.org/#x-content-type-options-header

Weitere Spezifikationen

Content-Type Header, X-Frame-Options Header