Vollständiger Referenzleitfaden für MIME-Typen und Content-Type
Wann immer Ihr Browser eine Datei von einem Webserver anfordert, sendet der Server nicht nur die Bits und Bytes. Er sendet auch ein „Label“, das dem Browser mitteilt, um welche Art von Datei es sich handelt. Dieses Label wird MIME-Typ (Multipurpose Internet Mail Extensions) genannt und über den HTTP-Header Content-Type gesendet.
Wenn der Server den falschen MIME-Typ sendet, versucht Ihr Browser möglicherweise, ein Video herunterzuladen, anstatt es abzuspielen, oder er verweigert die Ausführung eines Skripts aus Sicherheitsgründen.
Kurzreferenztabelle: Häufige MIME-Typen
| MIME-Typ | Häufige Dateiendung | Kategorie | Zweck |
|---|---|---|---|
text/html |
.html, .htm |
Webseite | Standard-Webseiteninhalt |
text/css |
.css |
Styling | Cascading Style Sheets |
application/javascript |
.js |
Logik | Webanwendungsskripte |
application/json |
.json |
Daten | Strukturierte Daten für APIs |
application/xml |
.xml |
Daten | Extensible Markup Language |
text/csv |
.csv |
Daten | Kommagetrennte Werte |
image/webp |
.webp |
Medien | Modernes komprimiertes Bildformat |
image/avif |
.avif |
Medien | Hocheffizientes Bildformat |
font/woff2 |
.woff2 |
Schriftart | Modernes Webfont-Format |
application/wasm |
.wasm |
Kompiliert | WebAssembly-Binärcode |
application/octet-stream |
.bin, .exe |
Binär | Generische Binärdaten (löst normalerweise Download aus) |
multipart/form-data |
N/A | Upload | Wird zum Senden von Formularen mit Datei-Uploads verwendet |
1. Strukturierte Daten und APIs
Moderne Webanwendungen verlassen sich stark auf diese Typen, um Informationen zwischen Frontend und Backend auszutauschen.
- application/json: Der Industriestandard für REST-APIs. Es ist leichtgewichtig und wird nativ von JavaScript unterstützt.
- application/xml: Ein älteres, aber leistungsfähigeres Format, das benutzerdefinierte Schemata und komplexe Validierung unterstützt.
- text/csv: Wird häufig zum Exportieren großer Datensätze aus Datenbanken oder Tabellenkalkulationen verwendet.
2. Medien und Assets
Um schnelle Ladezeiten zu gewährleisten, müssen Server moderne Medienformate mit hoher Komprimierung korrekt identifizieren.
- image/webp & image/avif: Diese modernen Formate bieten eine viel bessere Komprimierung als JPEG oder PNG. Wenn Ihr Server nicht den korrekten MIME-Typ sendet, kann der Browser das Bild möglicherweise nicht richtig rendern.
- font/woff2: Unverzichtbar für die Web-Typografie. Die korrekte MIME-Typisierung stellt sicher, dass der Browser die Schriftart schnell dekomprimieren kann.
3. Spezialisierte und binäre Daten
- application/wasm: Dies ist erforderlich, damit WebAssembly funktioniert. Browser sind sehr streng – sie verweigern oft die Kompilierung eines WASM-Moduls, wenn der Server nicht explizit den Content-Type
application/wasmsendet. - application/octet-stream: Dies ist der „Auffangtyp“ für Binärdaten. Wenn ein Server nicht weiß, um was für eine Datei es sich handelt, verwendet er standardmäßig diesen Typ. Browser behandeln dies als Signal zum Herunterladen der Datei, anstatt zu versuchen, sie anzuzeigen.
4. Formulare und Uploads
Wenn Sie ein Formular auf einer Website absenden, verwendet der Browser einen bestimmten MIME-Typ, um Ihre Eingaben zu kodieren.
- application/x-www-form-urlencoded: Der Standard für einfache textbasierte Formulare. Er sieht aus wie ein URL-Query-String (
name=John&age=30). - multipart/form-data: Dies ist erforderlich, wenn Ihr Formular einen Datei-Upload enthält. Es ermöglicht dem Browser, verschiedene Datentypen (Text und Binärdateien) in einer einzigen Anfrage zu senden, getrennt durch „Boundaries“ (Grenzen).
So überprüfen Sie den MIME-Typ einer Datei
- Im Browser: Öffnen Sie die DevTools -> Tab „Netzwerk“ (Network). Klicken Sie auf eine Anfrage und suchen Sie im Abschnitt Response Headers nach „Content-Type“.
- Auf Linux / macOS: Verwenden Sie den Befehl
filemit dem Flag--mime-type:file --mime-type -b meine-datei.webp # Ausgabe: image/webp
Häufig gestellte Fragen (FAQ)
F: Was passiert, wenn ein Server den falschen Content-Type sendet?
A: Browser führen oft ein „MIME Sniffing“ durch, um zu versuchen, den richtigen Typ zu erraten. Aus Sicherheitsgründen (z. B. Schutz vor XSS) werden moderne Browser jedoch immer strenger. Wenn ein Skript mit text/plain anstelle von application/javascript gesendet wird, verweigern die meisten Browser die Ausführung.
F: Ist application/javascript der einzige korrekte Typ für JS-Dateien?
A: Historisch gesehen wurden text/javascript oder application/x-javascript verwendet. Während application/javascript einst die formale Empfehlung war, hat sich der neueste Standard tatsächlich wieder in Richtung der Bevorzugung von text/javascript bewegt. Die meisten Server und Browser kommen mit beiden gut zurecht.
F: Warum erhalte ich die Fehlermeldung „No 'Content-Type' header“?
A: Dies bedeutet, dass der Server keine Informationen über den Dateityp bereitgestellt hat. Browser verwenden dann standardmäßig text/plain oder application/octet-stream, was dazu führen kann, dass Ihre Seite falsch gerendert wird oder ein unerwünschter Download ausgelöst wird.
Verwandte Tools auf Tool3M
- Base64-Kodierer/Dekodierer: Konvertieren Sie Binärdaten in einen Data-URI (der den MIME-Typ enthält) zur Verwendung in HTML oder CSS.
- JSON-Formatierer: Validieren und formatieren Sie Ihre
application/json-Daten.