MIME-Type: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(53 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''' | '''MIME-Types''' - Klassifizieren von Daten im Rumpf einer Nachricht | ||
== Beschreibung == | == Beschreibung == | ||
; Multipurpose Internet Mail Extensions | |||
* 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 [[Hypertext Transfer Protocol|HTTP]]-Übertragung einem [[Webbrowser|Browser]] mitgeteilt, welche Daten der [[Webserver]] sendet – ob es etwa ein [[Plain text|Plain-Text]]-Dokument, ein [[Hypertext Markup Language|HTML]]-Dokument oder ein [[Portable Network Graphics|PNG]]-Bild ist. | |||
* Auch in [[E-Mail]]s wird das „Content-Type“-Header-Feld dazu verwendet, die verschiedenen Daten zu klassifizieren. | |||
; MIME ist die Abkürzung für Multipurpose Internet Mail Extensions | |||
Es handelt sich um eine Codierung, die den Anwendungsprogrammen im Internet einen Hinweis auf den verwendeten Datentyp geben soll. | |||
* Ursprünglich wurde dieses Schema für Datei-Anhänge (Attachments) in E-Mails eingeführt. | |||
* Innerhalb dieser Multipart-Mails trennt MIME die Datei vom Rest der E-Mail und gibt den empfangenden E-Mail-Clients einen Hinweis auf den Datentyp. | |||
* Diese Information ist wichtig, damit der Empfänger weiß, mit welchem Programm er die Datei öffnen kann. | |||
Was sich für E-Mails als nützlich erwiesen hat, wurde dann für andere Protokolle eingeführt, die zwischen zwei Stationen Daten übertragen. | |||
* So haben verschiedene HTML-Elemente Attribute, die den MIME-Type als Angabe enthalten. | |||
* Auch im HTTP-Header hat der MIME-Type seinen Platz gefunden. | |||
* Sowohl der Browser, als auch der Web-Server führen eine Liste mit ihren bekannten MIME-Types. | |||
* Bei jeder Kommunikation zwischen Browser und Web-Server wird der MIME-Type ausgehandelt. | |||
* In der Regel akzeptiert ein Browser jeden MIME-Type. | |||
* Kennt er ihn nicht, bietet er dem Anwender den Download dieser Datei an. | |||
* Der Anwender kann sich dann später entscheiden, welches Programm für die Datei geeignet ist. | |||
Ursprünglich konnte man mit SMTP in E-Mails nur Buchstaben, Zahlen und Zeichen versenden. | |||
* Mit MIME werden die Dateien in Buchstaben und Zeichen umgewandelt und beim Empfänger wieder zurückgewandelt. | |||
==== Medientypen ==== | |||
Internet Media Type besteht aus zwei Teilen | |||
# Angabe eines Medientyps | |||
# 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. | |||
* ''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 | * Textdokumente mit eingebetteten nichttextuellen Daten) oder Informationen, die von einem bestimmten Programm verarbeitet werden sollen | ||
* ''audio'' – für Audiodaten | * ''audio'' – für Audiodaten | ||
* ''example'' – Beispiel-Medientyp für Dokumentationen | * ''example'' – Beispiel-Medientyp für Dokumentationen | ||
Zeile 64: | Zeile 41: | ||
* ''text'' – für Text | * ''text'' – für Text | ||
* ''video'' – für Videomaterial | * ''video'' – für Videomaterial | ||
* ''chemical'' – für z. B.: Moleküle (inoffiziell) | * ''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]]. | |||
==== Medientypen und Subtypen ==== | |||
Der MIME-Type besteht aus der Angabe eines Medientyps und eines Subtyps, die durch einen Schrägstrich voneinander getrennt sind | |||
text/html oder image/jpeg | |||
Der Medientyp weist daraufhin, um welche Art es sich handelt. | |||
* Typische Beispiele sind Text, Bilder, Video und Audio. | |||
{| class="wikitable" | |||
!Medientypen | |||
!Beschreibung | |||
|- | |||
|text | |||
|Dateien mit ASCII-Text | |||
|- | |||
|image | |||
|Bilder, Grafiken, Fotos | |||
|- | |||
|video | |||
|Video-Dateien | |||
|- | |||
|audio | |||
|Audio-Dateien | |||
|- | |||
|application | |||
|Dateien, die an ein bestimmtes Anwendungsprogramm gebunden sind | |||
|- | |||
|mulitpart | |||
|mehrteilige Daten | |||
|- | |||
|message | |||
|Nachrichten | |||
|- | |||
|model | |||
|Dateien mit mehrdimensionalen Strukturen | |||
|- | |||
|example | |||
|Beispiel-Medientyp für Dokumentationen | |||
|} | |||
Aus dem Medientyp ergibt sich die Art der Datenstruktur, also ob die Datei Binär oder nach ASCII abgelegt sind. | |||
* Der Subtyp bezieht sich auf ein oder mehrere Dateiformate, die an ein bestimmtes Programm gebunden sind oder mit speziellen Programmen oder Plugins ausgeführt werden müssen. | |||
* Subtypen, die mit einem "x-" anfangen, sind Dateien, die auf einem Server ausgeführt werden. | |||
* Da es sehr viele MIME-Types gibt, ist die folgende Tabelle nur eine kleine Auswahl der wichtigsten und am häufigsten vorkommenden MIME-Types. | |||
{| class="wikitable" | |||
!MIME-Type | |||
!Dateiendung | |||
!Beschreibung | |||
|- | |||
|application/gzip | |||
|*.gz | |||
|GNU Zip-Dateien | |||
|- | |||
|application/msexcel | |||
|*.xls *.xla | |||
|Microsoft Excel Dateien | |||
|- | |||
|application/mspowerpoint | |||
|*.ppt *.ppz *.pps *.pot | |||
|Microsoft Powerpoint Dateien | |||
|- | |||
|application/msword | |||
|*.doc *.dot | |||
|Microsoft Word Dateien | |||
|- | |||
|application/octet-stream | |||
|*.bin *.exe *.com *.dll *.class | |||
|Ausführbare Dateien | |||
|- | |||
|application/pdf | |||
|*.pdf | |||
|Adobe PDF-Dateien | |||
|- | |||
|application/postscript | |||
|*.ai *.eps *.ps | |||
|Adobe Postscript-Dateien | |||
|- | |||
|application/rtf | |||
|*.rtf | |||
|Microsoft RTF-Dateien | |||
|- | |||
|application/x-javascript | |||
|*.js | |||
|serverseitige JavaScript-Dateien | |||
|- | |||
|application/x-httpd-php | |||
|*.php *.phtml | |||
|PHP-Dateien | |||
|- | |||
|application/zip | |||
|*.zip | |||
|ZIP-Archivdateien | |||
|- | |||
|audio/x-pn-realaudio | |||
|*.ram *.ra | |||
|RealAudio-Dateien | |||
|- | |||
|audio/x-pn-realaudio-plugin | |||
|*.rpm | |||
|RealAudio-Plugin-Dateien | |||
|- | |||
|audio/x-qt-stream | |||
|*.stream | |||
|Streaming-Dateien | |||
|- | |||
|audio/x-wav | |||
|*.wav | |||
|Wav-Dateien | |||
|- | |||
|image/gif | |||
|*.gif | |||
|GIF-Dateien | |||
|- | |||
|image/jpeg | |||
|*.jpeg *.jpg *.jpe | |||
|JPEG-Dateien | |||
|- | |||
|image/tiff | |||
|*.tiff *.tif | |||
|TIFF-Dateien | |||
|- | |||
|multipart/alternative | |||
| | |||
|mehrteilige Daten gemischt | |||
|- | |||
|multipart/byteranges | |||
| | |||
|mehrteilige Daten mit Byte-Angaben | |||
|- | |||
|multipart/digest | |||
| | |||
|mehrteilige Daten / Auswahl | |||
|- | |||
|multipart/encrypted | |||
| | |||
|mehrteilige Daten verschlüsselt | |||
|- | |||
|multipart/form-data | |||
| | |||
|mehrteilige Daten aus HTML-Formular (z. B. File-Upload) | |||
|- | |||
|multipart/mixed | |||
| | |||
|mehrteilige Daten gemischt | |||
|- | |||
|text/css | |||
|*.css | |||
|CSS Stylesheet-Dateien | |||
|- | |||
|text/html | |||
|*.htm *.html *.shtml | |||
|<nowiki>-Dateien</nowiki> | |||
|- | |||
|text/javascript | |||
|*.js | |||
|JavaScript-Dateien | |||
|- | |||
|text/plain | |||
|*.txt | |||
|reine Textdateien | |||
|- | |||
|video/mpeg | |||
|*.mpeg *.mpg *.mpe | |||
|MPEG-Dateien | |||
|- | |||
|video/quicktime | |||
|*.qt *.mov | |||
|Quicktime-Dateien | |||
|- | |||
|video/x-msvideo | |||
|*.avi | |||
|Microsoft AVI-Dateien | |||
|} | |||
=== Beispiel === | |||
Die folgenden Zeilen zeigen den Quelltext einer E-Mail. | |||
''[E-Mail-Header gekürzt]'' | |||
From: "Sender" <sender@beispiel.org> | |||
To: <empfaenger@beispiel.org> | |||
Subject: =?ISO-8859-15?B?R3J13w==?= | |||
'''Mime-Version: 1.0''' | |||
'''Content-Type: multipart/mixed'''; boundary="=__Part466D9E30.0__=" | |||
--=__Part466D9E30.0__= | |||
'''Content-Type: text/plain'''; charset=US-ASCII | |||
Content-Transfer-Encoding: quoted-printable | |||
Content-Disposition: inline | |||
Eine Foto im Anhang. | |||
--=__Part466D9E30.0__= | |||
'''Content-Type: image/jpeg'''; name="foto.jpg" | |||
Content-Transfer-Encoding: base64 | |||
Content-Disposition: attachment; filename="foto.jpg" | |||
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB | |||
''[Anhang gekürzt]'' | |||
RAQFCBcwRD8H6y8B+voDMoSa1I4Md6+UMzwKVdT31/fz4cotgwwoZDa1sbvrwU1QcEYNlI3KwKwZ | |||
uiFj1Ka6BVAM2WU4FCh+xfXS1/p573//2Q== | |||
--=__Part466D9E30.0__=-- | |||
=== Beispiel für MIME-Type in einem HTTP-Response (Antwort vom Server) === | |||
Die folgenden Zeilen zeigen den Header einer HTTP-Antwort vom Server. | |||
* Der Content-Type deutet daraufhin, welche Art von Daten folgen. | |||
===== Beispiel 1: Text im HTML-Format ===== | |||
HTTP/1.x 200 OK | |||
Date: Fri, 04 Sep 2009 18:12:35 GMT | |||
Server: Apache/1.3.34 Ben-SSL/1.55 | |||
Keep-Alive: timeout=2, max=200 | |||
Connection: Keep-Alive | |||
Transfer-Encoding: chunked | |||
'''Content-Type: text/html''' | |||
===== Beispiel 2: Bild im GIF-Format ===== | |||
HTTP/1.x 200 OK | |||
Content-Length: 35 | |||
Date: Sun, 19 Jul 2009 17:30:00 GMT | |||
'''Content-Type: image/gif''' | |||
== Namensgebung == | == 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: | Ein Medientype besteht aus einem ''Typ'' und einem ''Subtyp'', die als ''Baum'' strukturiert sind. | ||
* Eine Medientype kann optional auch einen ''Suffix'' und ''Parameter'' enthalten: | |||
<code>Typ "/" [Baum "."] Subtyp ["+" Suffix] *[";" Parameter]</code> | <code>Typ "/" [Baum "."] Subtyp ["+" Suffix] *[";" Parameter]</code> | ||
Zeile 108: | Zeile 306: | ||
* <code>text/xml</code> | * <code>text/xml</code> | ||
== MIME-Sniffing == | === 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 File Interchange Format|JPEG]] oder [[Portable Network Graphics|PNG]] sind leicht an ihrem Header zu unterscheiden ([[Magische Zahl (Informatik)|Magische Zahl]]). Schlägt die Analyse fehl, wird die [[Dateinamenserweiterung|Dateiendung]] herangezogen. Danach wird entweder eine Standard-Darstellung versucht, beispielsweise die Wiedergabe als HTML-Datei, oder die Wiedergabe wird mit einer Fehlermeldung abgebrochen. | 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 File Interchange Format|JPEG]] oder [[Portable Network Graphics|PNG]] sind leicht an ihrem Header zu unterscheiden ([[Magische Zahl (Informatik)|Magische Zahl]]). | |||
* Schlägt die Analyse fehl, wird die [[Dateinamenserweiterung|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. | Die Reihenfolge der Analyse wird in Protokolldokumenten festgelegt. | ||
So fordert das [[Hypertext Transfer Protocol|HTTP1.1]]-Dokument, dass immer der angegebene Content-Typ zu verwenden ist. Nur wenn er fehlt, darf MIME-Sniffing den Typ erraten. | So fordert das [[Hypertext Transfer Protocol|HTTP1.1]]-Dokument, dass immer der angegebene Content-Typ zu verwenden ist. | ||
* Nur wenn er fehlt, darf MIME-Sniffing den Typ erraten. | |||
<noinclude> | |||
== Siehe auch == | == Anhang == | ||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
---- | |||
* [[HTTP]] - Hypertext Transfer Protocol | |||
* [[E-Mail]] | |||
* [[WWW]] - World Wide Web | |||
* [[SMTP]] - Simple Mail Transfer Protocol | |||
* [[POP3]] - Post Office Protocol | |||
* [[IMAP4]] - Internet Message Access Protocol | |||
* [[Dateiformat]] | * [[Dateiformat]] | ||
* [[Liste von Dateinamenserweiterungen]] | * [[Liste von Dateinamenserweiterungen]] | ||
== Weblinks == | ==== Links ==== | ||
===== Weblinks ===== | |||
* [http://www.w3.org/2001/tag/2002/0129-mime w3.org] | * [http://www.w3.org/2001/tag/2002/0129-mime w3.org] | ||
* {{RFC-Internet |Autor=M. Sirbu |RFC=1049 |Titel=A Content-Type header field for internet messages |Datum=1988-03 |Kommentar=Erste Spezifikation}} | * {{RFC-Internet |Autor=M. Sirbu |RFC=1049 |Titel=A Content-Type header field for internet messages |Datum=1988-03 |Kommentar=Erste Spezifikation}} | ||
Zeile 130: | Zeile 344: | ||
* [http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types Apache Server: Zuordnung von Dateiendungen zu MIME-Typen, von 1999 bis heute] | * [http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/conf/mime.types Apache Server: Zuordnung von Dateiendungen zu MIME-Typen, von 1999 bis heute] | ||
[[Kategorie: | [[Kategorie:Netzwerk/Protokoll]] | ||
[[Kategorie: | [[Kategorie:Daten]] | ||
[[Kategorie:E-Mail/Protokolle]] | |||
</noinclude> |
Aktuelle Version vom 8. Dezember 2023, 00:03 Uhr
MIME-Types - Klassifizieren von Daten im Rumpf einer Nachricht
Beschreibung
- Multipurpose Internet Mail Extensions
- 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 etwa 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.
- MIME ist die Abkürzung für Multipurpose Internet Mail Extensions
Es handelt sich um eine Codierung, die den Anwendungsprogrammen im Internet einen Hinweis auf den verwendeten Datentyp geben soll.
- Ursprünglich wurde dieses Schema für Datei-Anhänge (Attachments) in E-Mails eingeführt.
- Innerhalb dieser Multipart-Mails trennt MIME die Datei vom Rest der E-Mail und gibt den empfangenden E-Mail-Clients einen Hinweis auf den Datentyp.
- Diese Information ist wichtig, damit der Empfänger weiß, mit welchem Programm er die Datei öffnen kann.
Was sich für E-Mails als nützlich erwiesen hat, wurde dann für andere Protokolle eingeführt, die zwischen zwei Stationen Daten übertragen.
- So haben verschiedene HTML-Elemente Attribute, die den MIME-Type als Angabe enthalten.
- Auch im HTTP-Header hat der MIME-Type seinen Platz gefunden.
- Sowohl der Browser, als auch der Web-Server führen eine Liste mit ihren bekannten MIME-Types.
- Bei jeder Kommunikation zwischen Browser und Web-Server wird der MIME-Type ausgehandelt.
- In der Regel akzeptiert ein Browser jeden MIME-Type.
- Kennt er ihn nicht, bietet er dem Anwender den Download dieser Datei an.
- Der Anwender kann sich dann später entscheiden, welches Programm für die Datei geeignet ist.
Ursprünglich konnte man mit SMTP in E-Mails nur Buchstaben, Zahlen und Zeichen versenden.
- Mit MIME werden die Dateien in Buchstaben und Zeichen umgewandelt und beim Empfänger wieder zurückgewandelt.
Medientypen
Internet Media Type besteht aus zwei Teilen
- Angabe eines Medientyps
- 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.
Medientypen und Subtypen
Der MIME-Type besteht aus der Angabe eines Medientyps und eines Subtyps, die durch einen Schrägstrich voneinander getrennt sind
text/html oder image/jpeg
Der Medientyp weist daraufhin, um welche Art es sich handelt.
- Typische Beispiele sind Text, Bilder, Video und Audio.
Medientypen | Beschreibung |
---|---|
text | Dateien mit ASCII-Text |
image | Bilder, Grafiken, Fotos |
video | Video-Dateien |
audio | Audio-Dateien |
application | Dateien, die an ein bestimmtes Anwendungsprogramm gebunden sind |
mulitpart | mehrteilige Daten |
message | Nachrichten |
model | Dateien mit mehrdimensionalen Strukturen |
example | Beispiel-Medientyp für Dokumentationen |
Aus dem Medientyp ergibt sich die Art der Datenstruktur, also ob die Datei Binär oder nach ASCII abgelegt sind.
- Der Subtyp bezieht sich auf ein oder mehrere Dateiformate, die an ein bestimmtes Programm gebunden sind oder mit speziellen Programmen oder Plugins ausgeführt werden müssen.
- Subtypen, die mit einem "x-" anfangen, sind Dateien, die auf einem Server ausgeführt werden.
- Da es sehr viele MIME-Types gibt, ist die folgende Tabelle nur eine kleine Auswahl der wichtigsten und am häufigsten vorkommenden MIME-Types.
MIME-Type | Dateiendung | Beschreibung |
---|---|---|
application/gzip | *.gz | GNU Zip-Dateien |
application/msexcel | *.xls *.xla | Microsoft Excel Dateien |
application/mspowerpoint | *.ppt *.ppz *.pps *.pot | Microsoft Powerpoint Dateien |
application/msword | *.doc *.dot | Microsoft Word Dateien |
application/octet-stream | *.bin *.exe *.com *.dll *.class | Ausführbare Dateien |
application/pdf | Adobe PDF-Dateien | |
application/postscript | *.ai *.eps *.ps | Adobe Postscript-Dateien |
application/rtf | *.rtf | Microsoft RTF-Dateien |
application/x-javascript | *.js | serverseitige JavaScript-Dateien |
application/x-httpd-php | *.php *.phtml | PHP-Dateien |
application/zip | *.zip | ZIP-Archivdateien |
audio/x-pn-realaudio | *.ram *.ra | RealAudio-Dateien |
audio/x-pn-realaudio-plugin | *.rpm | RealAudio-Plugin-Dateien |
audio/x-qt-stream | *.stream | Streaming-Dateien |
audio/x-wav | *.wav | Wav-Dateien |
image/gif | *.gif | GIF-Dateien |
image/jpeg | *.jpeg *.jpg *.jpe | JPEG-Dateien |
image/tiff | *.tiff *.tif | TIFF-Dateien |
multipart/alternative | mehrteilige Daten gemischt | |
multipart/byteranges | mehrteilige Daten mit Byte-Angaben | |
multipart/digest | mehrteilige Daten / Auswahl | |
multipart/encrypted | mehrteilige Daten verschlüsselt | |
multipart/form-data | mehrteilige Daten aus HTML-Formular (z. B. File-Upload) | |
multipart/mixed | mehrteilige Daten gemischt | |
text/css | *.css | CSS Stylesheet-Dateien |
text/html | *.htm *.html *.shtml | -Dateien |
text/javascript | *.js | JavaScript-Dateien |
text/plain | *.txt | reine Textdateien |
video/mpeg | *.mpeg *.mpg *.mpe | MPEG-Dateien |
video/quicktime | *.qt *.mov | Quicktime-Dateien |
video/x-msvideo | *.avi | Microsoft AVI-Dateien |
Beispiel
Die folgenden Zeilen zeigen den Quelltext einer E-Mail.
[E-Mail-Header gekürzt] From: "Sender" <sender@beispiel.org> To: <empfaenger@beispiel.org> Subject: =?ISO-8859-15?B?R3J13w==?= Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part466D9E30.0__=" --=__Part466D9E30.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Eine Foto im Anhang. --=__Part466D9E30.0__= Content-Type: image/jpeg; name="foto.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="foto.jpg" /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB [Anhang gekürzt] RAQFCBcwRD8H6y8B+voDMoSa1I4Md6+UMzwKVdT31/fz4cotgwwoZDa1sbvrwU1QcEYNlI3KwKwZ uiFj1Ka6BVAM2WU4FCh+xfXS1/p573//2Q== --=__Part466D9E30.0__=--
Beispiel für MIME-Type in einem HTTP-Response (Antwort vom Server)
Die folgenden Zeilen zeigen den Header einer HTTP-Antwort vom Server.
- Der Content-Type deutet daraufhin, welche Art von Daten folgen.
Beispiel 1: Text im HTML-Format
HTTP/1.x 200 OK Date: Fri, 04 Sep 2009 18:12:35 GMT Server: Apache/1.3.34 Ben-SSL/1.55 Keep-Alive: timeout=2, max=200 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html
Beispiel 2: Bild im GIF-Format
HTTP/1.x 200 OK Content-Length: 35 Date: Sun, 19 Jul 2009 17:30:00 GMT Content-Type: image/gif
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.
Anhang
Siehe auch
- HTTP - Hypertext Transfer Protocol
- WWW - World Wide Web
- SMTP - Simple Mail Transfer Protocol
- POP3 - Post Office Protocol
- IMAP4 - Internet Message Access Protocol
- Dateiformat
- Liste von Dateinamenserweiterungen
Links
Weblinks
- w3.org
- Vorlage:RFC-Internet
- Vorlage:RFC-Internet
- Vorlage:RFC-Internet
- Vorlage:RFC-Internet
- Vorlage:RFC-Internet
- Vorlage:RFC-Internet
- Liste der IANA
- Übersicht von MIME-Typen mit den entsprechenden Dateiendungen im SELFHTML-Wiki
- Apache Server: Zuordnung von Dateiendungen zu MIME-Typen, von 1999 bis heute