Internet Media Type
Der Internet Media Type, auch MIME-Type (nach der Spezifikation Multipurpose Internet Mail Extensions) oder Content-Type (nach dem Namen des Feldes), klassifiziert die Daten im Rumpf einer Nachricht im Internet. Wie im MIME-Standard erläutert, wird z. B. bei einer HTTP-Übertragung einem Browser mitgeteilt, welche Daten der Webserver sendet – ob es beispielsweise ein Plain-Text-Dokument, ein HTML-Dokument oder ein PNG-Bild ist. Auch in E-Mails wird das „Content-Type“-Header-Feld dazu verwendet, die verschiedenen Daten zu klassifizieren.
Medientypen
Der Internet Media Type besteht aus zwei Teilen: der Angabe eines Medientyps und der Angabe eines Subtyps. Beide Angaben werden durch einen Schrägstrich voneinander getrennt, Beispiel image/jpeg.
- application – für uninterpretierte binäre Daten, Mischformate (z. B. Textdokumente mit eingebetteten nichttextuellen Daten) oder Informationen, die von einem bestimmten Programm verarbeitet werden sollen
- audio – für Audiodaten
- example – Beispiel-Medientyp für Dokumentationen
- image – für Grafiken
- message – für Nachrichten, beispielsweise message/rfc822
- model – für Daten, die mehrdimensionale Strukturen repräsentieren
- multipart – für mehrteilige Daten
- text – für Text
- video – für Videomaterial
- chemical – für z. B.: Moleküle (inoffiziell)
Es sind zurzeit über 130 Subtypen definiert, zusätzlich integriert jede Rechnergeneration eine Vielzahl von eigenen Medientypen. Verwaltet werden die Medientypen von der Internet Assigned Numbers Authority.
Namensgebung
Ein Medientype besteht aus einem Typ und einem Subtyp, die als Baum strukturiert sind. Eine Medientype kann optional auch einen Suffix und Parameter enthalten:
Typ "/" [Baum "."] Subtyp ["+" Suffix] *[";" Parameter]
Häufige Beispiele
application/graphql
application/javascript
application/json
application/ld+json
application/feed+json
application/msword
(.doc)application/pdf
application/sql
application/vnd.api+json
application/vnd.ms-excel
(.xls)application/vnd.ms-powerpoint
(.ppt)application/vnd.oasis.opendocument.text
(.odt)application/vnd.openxmlformats-officedocument.presentationml.presentation
(.pptx)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
(.xlsx)application/vnd.openxmlformats-officedocument.wordprocessingml.document
(.docx)application/x-www-form-urlencoded
application/xml
application/zip
application/zstd
(.zst)audio/mpeg
audio/ogg
image/apng
image/gif
image/jpeg
image/png
image/svg+xml
(.svg)multipart/form-data
text/css
text/csv
text/html
text/php
text/plain
text/xml
MIME-Sniffing
Fehlt die Angabe des MIME-Typs, soll das MIME-Sniffing den MIME-Typ erkennen. Dazu werden zunächst die ersten Bytes des Dokuments gelesen. Bilder im Format JPEG oder PNG sind leicht an ihrem Header zu unterscheiden (Magische Zahl). Schlägt die Analyse fehl, wird die Dateiendung herangezogen. Danach wird entweder eine Standard-Darstellung versucht, beispielsweise die Wiedergabe als HTML-Datei, oder die Wiedergabe wird mit einer Fehlermeldung abgebrochen.
Die Reihenfolge der Analyse wird in Protokolldokumenten festgelegt. So fordert das HTTP1.1-Dokument, dass immer der angegebene Content-Typ zu verwenden ist. Nur wenn er fehlt, darf MIME-Sniffing den Typ erraten.
Siehe auch
Weblinks
- Apache Server: Zuordnung von Dateiendungen zu MIME-Typen, von 1999 bis heute
- Übersicht von MIME-Typen mit den entsprechenden Dateiendungen im SELFHTML-Wiki
- N. Freed, N. Borenstein: RFC – Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types [Errata: RFC 2046]. November 1996 (löst ab, aktualisiert durch , englisch).
- w3.org
- Liste der IANA
- N. Freed, N. Borenstein: RFC – Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies [Errata: RFC 2045]. November 1996, Abschnitt 5: Content-Type Header Field. (löst ab, aktualisiert durch , englisch).
- M. Sirbu: RFC – A Content-Type header field for internet messages. März 1988 (Erste Spezifikation, englisch).
- S. Nelson, C. Parks: RFC – The Model Primary Content Type for Multipurpose Internet Mail Extensions. Januar 1997 (englisch).
- T. Taylor: RFC – Example Media Types for Use in Documentation. Oktober 2006 – Standard: [Proposed] (englisch).
- R. Fielding, U. C. Irvine, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee: RFC – Hypertext Transfer Protocol – HTTP/1.1 [Errata: RFC 2616]. Juni 1999, Abschnitt 14.17: Content-Type. (löst ab, aktualisiert durch , englisch).