Ein Browser entscheidet anhand des Content-Type-Headers, wie er eine Datei behandelt: Der falsche Typ lässt die Seite herunterladen statt sie darzustellen, oder blockiert eine Schrift, die er laden sollte. Eine Nachschlagetabelle hält die Antwort griffbereit, ohne den Browser zu verlassen. Das MIME-Typen-Nachschlagewerk bringt eine statische Tabelle mit 125 Zeilen, die Erweiterungen auf MIME-Typen und Kategorien abbildet, mit Suche, Kategoriefilter und CSV-Export, alles clientseitig, nichts wird hochgeladen.
125 Zeilen, 5 Kategorien
Die Tabelle hält 125 Einträge in 5 Kategorien: 26 Text, 16 Image, 11 Audio, 12 Video und 60 Application, die 124 verschiedene Erweiterungen abdecken, weil .ts zweimal vorkommt. Addiert man die Länge aller Typstrings, wiegt die Tabelle 2.098 Zeichen. Jede Zeile zeigt die Erweiterung in Monospace, den Typ und ein farbiges Kategorie-Badge. Das Suchfeld vergleicht Teilstrings ohne Rücksicht auf Groß- und Kleinschreibung auf Erweiterung und MIME-String und lässt sich mit den Kategorie-Chips kombinieren.
5 Ressourcen auf einer Seite
Eine typische Seite liefert app.js, data.csv, logo.png, film.mp4 und font.woff2. Fünf Suchen ergeben text/javascript unter Text, text/csv unter Text, image/png unter Image, video/mp4 unter Video und font/woff2 unter Application. Badge und MIME-Familie stimmen nicht immer überein: .mjs und .cjs tragen text/javascript, sitzen aber in Application, während .svg image/svg+xml ist und in Text lebt.
Suche trifft Teilstrings in beiden Feldern
image liefert 19 Zeilen, nicht die 16 Zeilen der Kategorie Image, denn .svg liegt unter Text und .dmg mit .iso unter Application, ihre Typstrings enthalten das Wort image. mp liefert 9 Zeilen, darunter .bmp, weil bmp mp enthält, .ts über video/mp2t sowie .rar und .7z über das Wort compressed in x-rar-compressed. ts liefert 8 Zeilen, und .docx, .xlsx und .pptx erscheinen, weil ihre langen Office-Typen auf formats enden.
Die .ts-Kollision und 16 geteilte Typen
Die .ts-Kollision ist die einzige der Tabelle: Sie liefert video/mp2t, den MPEG-Transportstrom unter Video, und text/typescript unter Application, weshalb 125 Zeilen nur 124 Erweiterungen abdecken. Sechzehn Typen teilen sich mehrere Erweiterungen: text/plain deckt 5 ab (.txt, .ini, .cfg, .log, .env), text/javascript deckt 4 ab (.js, .jsx, .mjs, .cjs), image/jpeg deckt 2 ab. Der längste Typ hat 73 Zeichen (.pptx), der kürzeste 8 (text/css, text/xml, text/csv). Bei Bilddateien geht es oft um Dimensionen und Format, was der Bild-Info-Anzeiger meldet, und ein Re-Encode über den Bildkompressor von png nach webp ändert den zu deklarierenden Typ.
43 unregistrierte x- Vendor-Typen
Dreiundvierzig der 125 Zeilen benutzen das x- Vendor-Präfix: video/x-matroska, application/x-rar-compressed, image/x-icon, text/x-sql. Es sind De-facto-Standards, die nie bei der IANA registriert wurden, doch jeder Browser und Server beachtet sie, während der registrierte Kern (image/png, video/mp4, application/json) stabil bleibt. Wenn die Erweiterung lügt, liegt die ehrliche Antwort in den Bytes: der Hex UTF-8 Base64 Umrechner zeigt die Magic Bytes, die den wahren Container enthüllen.
Wohin der Typstring geht
Sobald man den String hat, geht er in eine Server-Konfiguration, einen API-Header oder ein data URI. Der Base64-Encoder/-Decoder baut data:image/png;base64-URIs, deren Typ-Präfix direkt aus dieser Tabelle kommt. Der CSV zu JSON Konverter macht aus dem exportierten mime-types.csv eine JSON-Mappe für den Code. Der JSON-Formatierer validiert die Last, die mit Content-Type application/json reist. Für die text/html-Seite einer Standard-Webseite siehe den HTML-Formatierungs-Guide.