| ## Mime-Typen
| Allgemeines zu Mime-Typen Übersicht von Mime-Typen

## Allgemeines zu Mime-Typen

Mime steht für Multipurpose Internet Mail Extensions. Aus dem Namen geht hervor, dass das, was da spezifiert wird, ursprünglich für E-Mails gedacht war - und zwar für E-Mails mit Attachments (englisch für Anhang). Solche so genannten Multipart-Mails enthalten die gesamten zu übertragenden Daten in einer Datei. Innerhalb der Datei musste eine Konvention gefunden werden, wie die einzelnen Teile (z.B. Text der Mail und angehängte ZIP-Datei) voneinander zu trennen seien. Dabei wurde auch ein Schema entwickelt, das der interpretierenden Software mitteilt, um welchen Datentyp es sich bei dem jeweils nächsten Teil der Mail handelt.

Das Schema erwies sich nicht nur für E-Mails als nützlich. Fast immer, wenn entfernte Programme (z.B. Web-Browser und Web-Server) wegen einer bevorstehenden Datenübertragung miteinander kommunizieren, geht es auch um die Art der zu übertragenden Daten. Dabei hat sich im gesamten Internet das Schema der Mime-Typen durchgesetzt. Auch im Web stößt man an verschiedenen Stellen auf Mime-Typen::

- Verschiedene HTML-Elemente haben Attribute, die als Wertzuweisung die Angabe eines Mime-Typen erwarten, nämlich a (`type=`), form (`accept=` und `enctype=`), input (`accept=`), link (`type=`, object (`codetype=` und `type=`), param (`type=`), script (`type=`) und style (`type=`)
- Wenn ein CGI-Script an den aufrufenden Browser einen HTTP-Header sendet, muss es den Mime-Type der nachfolgenden Daten senden.
- In JavaScript gibt es ein eigenes Objekt MimeTypes, das es erlaubt, in JavaScript die verfügbaren Mime-Typen des Browsers zu ermitteln.

SSowohl jeder Web-Browser als auch jeder Web-Server führen eine Liste mit ihnen bekannten Mime-Typen. Bei der Kommunikation müssen sie sich darauf einigen, ob der Empfänger den Mime-Type akzeptiert, den der Sender senden will. Moderne Browser akzeptieren zwar in der Regel jeden Mime-Type und bieten dem Anwender einfach an, falls sie den Mime-Typ nicht kennen, die zu empfangenden Daten als Download-Datei abzuspeichern. Web-Server sind dagegen meist empfindlicher. Mime-Typen, die sie nicht kennen, verarbeiten sie nicht. Gerade wenn auf dem Server-Rechner nicht alltägliche Dateiformate bereitgestellt werden, ist es wichtig, den Mime-Type dafür in der Konfiguration des Web-Servers zu notieren.

Bei Standard-Dateiformaten sollten Sie unbedingt die Mime-Type-Angaben verwenden, die dafür etabliert sind. Die Übersicht auf dieser Seite weiter unten listet viele bekannte Mime-Typen auf. Wenn Sie trotz Recherchen, zum Beispiel im IANA- Verzeichnis der Media-Typen keinerlei Anhaltspunkte dafür finden, ob es zu einem Dateiformat einen bereits etablierten Mime-Type gibt, können Sie selber einen festlegen. Gleiches gilt für völlig eigene Dateiformate.

Dazu müssen Sie das Schema der Mime-Typen kennen. Ein Mime-Type besteht aus zwei Teilen: der Angabe eines Medientyps und der Angabe eines Subtyps. Beide Angaben werden durch einfachen Schrägstrich voneinander getrennt. Beispiele: `text/html`, `image/gif`.

Bei den Medientypen gibt es folgende:
`text` = für Textdateien
`image` = für Grafikdateien
`video` = für Videodateien
`audio` = für Sounddateien
`application` = für Dateien, die an ein bestimmtes Programm gebunden sind
`multipart` = für mehrteilige Daten
`message` = für Nachrichten
`model` = für Dateien, die mehrdimensionale Strukturen repräsentieren

Subtypen für server-eigene Dateiformate, d.h. Dateitypen, die auf dem Server ausgeführt werden können, werden meist mit `x-` eingeleitet.

Das Schema der Mime-Types wird in den Requests for Comments (RFCs) mit den Nummern 2045, 2046 und 2077 festgelegt.

## Übersicht von Mime-Typen

Die Auswahl ist alphabetisch sortiert und erhebt keinen Anspruch auf Vollständigkeit.

Mime-Typ | Dateiendung(en) | Bedeutung
--- | --- | ---
`application/acad` | `*.dwg` | AutoCAD-Dateien (nach NCSA)
`application/applefile` | `` | AppleFile-Dateien
`application/astound` | `*.asd *.asn` | Astound-Dateien
`application/dsptype` | `*.tsp` | TSP-Dateien
`application/dxf` | `*.dxf` | AutoCAD-Dateien (nach CERN)
`application/futuresplash` | `*.spl` | Flash Futuresplash-Dateien
`application/gzip` | `*.gz` | GNU Zip-Dateien
`application/listenup` | `*.ptlk` | Listenup-Dateien
`application/mac-binhex40` | `*.hqx` | Macintosh Binär-Dateien
`application/mbedlet` | `*.mbd` | Mbedlet-Dateien
`application/mif` | `*.mif` | FrameMaker Interchange Format Dateien
`application/msexcel` | `*.xls *.xla` | Microsoft Excel Dateien
`application/mshelp` | `*.hlp *.chm` | Microsoft Windows Hilfe 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/oda` | `*.oda` | Oda-Dateien
`application/pdf` | `*.pdf` | Adobe PDF-Dateien
`application/postscript` | `*.ai *.eps *.ps` | Adobe Postscript-Dateien
`application/rtc` | `*.rtc` | RTC-Dateien
`application/rtf` | `*.rtf` | Microsoft RTF-Dateien
`application/studiom` | `*.smp` | Studiom-Dateien
`application/toolbook` | `*.tbk` | Toolbook-Dateien
`application/vocaltec-media-desc` | `*.vmd` | Vocaltec Mediadesc-Dateien
`application/vocaltec-media-file` | `*.vmf` | Vocaltec Media-Dateien
`application/x-bcpio` | `*.bcpio` | BCPIO-Dateien
`application/x-compress` | `*.z` | -Dateien
`application/x-cpio` | `*.cpio` | CPIO-Dateien
`application/x-csh` | `*.csh` | C-Shellscript-Dateien
`application/x-director` | `*.dcr *.dir *.dxr` | -Dateien
`application/x-dvi` | `*.dvi` | DVI-Dateien
`application/x-envoy` | `*.evy` | Envoy-Dateien
`application/x-gtar` | `*.gtar` | GNU tar-Archiv-Dateien
`application/x-hdf` | `*.hdf` | HDF-Dateien
`application/x-httpd-php` | `*.php *.phtml` | PHP-Dateien
`application/x-javascript` | `*.js` | serverseitige JavaScript-Dateien
`application/x-latex` | `*.latex` | Latex-Quelldateien
`application/x-macbinary` | `*.bin` | Macintosh Binärdateien
`application/x-mif` | `*.mif` | FrameMaker Interchange Format Dateien
`application/x-netcdf` | `*.nc *.cdf` | Unidata CDF-Dateien
`application/x-nschat` | `*.nsc` | NS Chat-Dateien
`application/x-sh` | `*.sh` | Bourne Shellscript-Dateien
`application/x-shar` | `*.shar` | Shell-Archiv-Dateien
`application/x-shockwave-flash` | `*.swf *.cab` | Flash Shockwave-Dateien
`application/x-sprite` | `*.spr *.sprite` | Sprite-Dateien
`application/x-stuffit` | `*.sit` | Stuffit-Dateien
`application/x-supercard` | `*.sca` | Supercard-Dateien
`application/x-sv4cpio` | `*.sv4cpio` | CPIO-Dateien
`application/x-sv4crc` | `*.sv4crc` | CPIO-Dateien mit CRC
`application/x-tar` | `*.tar` | tar-Archivdateien
`application/x-tcl` | `*.tcl` | TCL Scriptdateien
`application/x-tex` | `*.tex` | TEX-Dateien
`application/x-texinfo` | `*.texinfo *.texi` | TEXinfo-Dateien
`application/x-troff` | `*.t *.tr *.roff` | TROFF-Dateien (Unix)
`application/x-troff-man` | `*.man *.troff` | TROFF-Dateien mit MAN-Makros (Unix)
`application/x-troff-me` | `*.me *.troff` | TROFF-Dateien mit ME-Makros (Unix)
`application/x-troff-ms` | `*.me *.troff` | TROFF-Dateien mit MS-Makros (Unix)
`application/x-ustar` | `*.ustar` | tar-Archivdateien (Posix)
`application/x-wais-source` | `*.src` | WAIS Quelldateien
`application/x-www-form-urlencoded` | `` | HTML-Formulardaten an CGI
`application/zip` | `*.zip` | ZIP-Archivdateien
`audio/basic` | `*.au *.snd` | Sound-Dateien
`audio/echospeech` | `*.es` | Echospeed-Dateien
`audio/tsplayer` | `*.tsi` | TS-Player-Dateien
`audio/voxware` | `*.vox` | Vox-Dateien
`audio/x-aiff` | `*.aif *.aiff *.aifc` | AIFF-Sound-Dateien
`audio/x-dspeeh` | `*.dus *.cht` | Sprachdateien
`audio/x-midi` | `*.mid *.midi` | MIDI-Dateien
`audio/x-mpeg` | `*.mp2` | MPEG-Dateien
`audio/x-pn-realaudio` | `*.ram *.ra` | RealAudio-Dateien
`audio/x-pn-realaudio-plugin` | `*.rpm` | RealAudio-Plugin-Dateien
`audio/x-qt-stream` | `*.stream` | -Dateien
`audio/x-wav` | `*.wav` | Wav-Dateien
`drawing/x-dwf` | `*.dwf` | Drawing-Dateien
`image/cis-cod` | `*.cod` | CIS-Cod-Dateien
`image/cmu-raster` | `*.ras` | CMU-Raster-Dateien
`image/fif` | `*.fif` | FIF-Dateien
`image/gif` | `*.gif` | GIF-Dateien
`image/ief` | `*.ief` | IEF-Dateien
`image/jpeg` | `*.jpeg *.jpg *.jpe` | JPEG-Dateien
`image/tiff` | `*.tiff *.tif` | TIFF-Dateien
`image/vasa` | `*.mcf` | Vasa-Dateien
`image/vnd.wap.wbmp` | `*.wbmp` | Bitmap-Dateien (WAP)
`image/x-freehand` | `*.fh4 *.fh5 *.fhc` | Freehand-Dateien
`image/x-portable-anymap` | `*.pnm` | PBM Anymap Dateien
`image/x-portable-bitmap` | `*.pbm` | PBM Bitmap Dateien
`image/x-portable-graymap` | `*.pgm` | PBM Graymap Dateien
`image/x-portable-pixmap` | `*.ppm` | PBM Pixmap Dateien
`image/x-rgb` | `*.rgb` | RGB-Dateien
`image/x-windowdump` | `*.xwd` | X-Windows Dump
`image/x-xbitmap` | `*.xbm` | XBM-Dateien
`image/x-xpixmap` | `*.xpm` | XPM-Dateien
`message/external-body` | `` | Nachricht mit externem Inhalt
`message/http` | `` | HTTP-Headernachricht
`message/news` | `` | Newsgroup-Nachricht
`message/partial` | `` | Nachricht mit Teilinhalt
`message/rfc822` | `` | Nachricht nach RFC 1822
`model/vrml` | `*.wrl` | Visualisierung virtueller Welten
`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
`multipart/parallel` | `` | mehrteilige Daten parallel
`multipart/related` | `` | mehrteilige Daten / verbunden
`multipart/report` | `` | mehrteilige Daten / Bericht
`multipart/signed` | `` | mehrteilige Daten / bezeichnet
`multipart/voice-message` | `` | mehrteilige Daten / Sprachnachricht
`text/comma-separated-values` | `*.csv` | komma-separierte Datendateien
`text/css` | `*.css` | CSS Stylesheet-Dateien
`text/html` | `*.htm *.html *.shtml` | -Dateien
`text/javascript` | `*.js` | JavaScript-Dateien
`text/plain` | `*.txt` | reine Textdateien
`text/richtext` | `*.rtx` | Richtext-Dateien
`text/rtf` | `*.rtf` | Microsoft RTF-Dateien
`text/tab-separated-values` | `*.tsv` | tabulator-separierte Datendateien
`text/vnd.wap.wml` | `*.wml` | WML-Dateien (WAP)
`application/vnd.wap.wmlc` | `*.wmlc` | WMLC-Dateien (WAP)
`text/vnd.wap.wmlscript` | `*.wmls` | WML-Scriptdateien (WAP)
`application/vnd.wap.wmlscriptc` | `*.wmlsc` | WML-Script-C-dateien (WAP)
`text/xml-external-parsed-entity` | `` | extern geparste XML-Dateien
`text/x-setext` | `*.etx` | SeText-Dateien
`text/x-sgml` | `*.sgm *.sgml` | SGML-Dateien
`text/x-speech` | `*.talk *.spc` | Speech-Dateien
`video/mpeg` | `*.mpeg *.mpg *.mpe` | MPEG-Dateien
`video/quicktime` | `*.qt *.mov` | Quicktime-Dateien
`video/vnd.vivo` | `*viv *.vivo` | Vivo-Dateien
`video/x-msvideo` | `*.avi` | Microsoft AVI-Dateien
`video/x-sgi-movie` | `*.movie` | Movie-Dateien
`workbook/formulaone` | `*.vts *.vtts` | FormulaOne-Dateien
`x-world/x-3dmf` | `*.3dmf *.3dm *.qd3d *.qd3` | 3DMF-Dateien
`x-world/x-vrml` | `*.wrl` | VRML-Dateien

| Sprachenkürzel
| HTTP-Statuscodes

© 2001 selfhtml@teamone.de