(Übersetzung von Bob Clarys DevEdge-Artikel »Properly Configuring Server MIME Types«)

Hintergrund

Viele Webserver sind so vorkonfiguriert, daß sie Dateien unbekannten Typs mit dem MIME-Typ text/plain ausliefern. Während immer wieder neue Dateiformate erfunden und solche Dateien auf Webservern bereitgestellt werden, versäumen viele Website-Herausgeber, die entsprechenden MIME-Typen in ihrer Webserver-Konfiguration einzutragen. Das führt dazu, daß diese neuen Inhalte als Textdateien ausgeliefert werden; das führt bei Gecko-basierten Browsern (z. B. Netscape 7.0, AOL für MacOS X und Mozilla) oft zu Fehlern, da diese sich nach den von Webservern angegebenen MIME richten.

Was sind MIME-Typen?

MIME-Typen beschreiben den Dateityp von Inhalten in E-Mails oder auch auf Webservern und haben den Zweck, einem Browser mitzuteilen, wie diese Inhalte verarbeitet und angezeigt werden. Ein paar MIME-Typen sind text/html für normale Webseiten, application/x-java-applet für Java™-Applets und application/pdf für Adobe®-PDF-Dateien.

Das funktioniert dann so: Ein Browser, der eine Anfrage an einen Webserver sendet, gibt mit dieser Anfrage an, welche Dateitypen er verarbeiten kann (und welche er davon bevorzugt). Der Webserver reagiert darauf, indem er die angeforderte Datei samt einer Information, um was für einen Dateityp (MIME-Typ) es sich dabei handelt. Diese Aushandlung von Dateitypen zwischen Browser und Server ist grundlegend für die Architektur des WWW; in der HTTP-Spezifikation ist übrigens festgelegt, daß ein Browser sich nach dem vom Server angegebenen MIME-Typ richten muß.

Technischer Hintergrund

MIME ist zur Zeit durch die RFCs 2045, 2046, 2047, 2048 und 2049 definiert; bei der IANA ist eine Liste der registrierten MIME-Typen erhältlich. Die HTTP-Spezifikation enthält eine Obermenge von MIME, die zur Beschreibung von Dateitypen im WWW verwendet wird.

Warum sind richtige MIME-Typen wichtig?

Wenn der Webserver Inhalte mit dem falschen MIME-Typ ausliefert, kann ein Browser gemäß der HTTP-Spezifikation nicht herausfinden, daß der Autor vom Browser eigentlich eine ganz andere Auswertung dieser Inhalte erwartet als durch den MIME-Typ impliziert.

Ein paar Browser, z. B. der Microsoft Internet Explorer®, versuchen, Fehlkonfigurationen von Webservern auszubügeln, indem sie raten, was der richtige MIME-Typ sein könnte.

Warum Browser MIME-Typen nicht raten sollten

Abgesehen davon, daß dadurch die HTTP-Spezifikation mißachtet wird, ist das Raten von MIME-Typen aus folgenden Gründen eine schlechte Strategie:

  1. Kontrollverlust

    Wenn der Browser den angegebenen MIME-Typ ignoriert, haben WWW-Entwickler keine Kontrolle mehr darüber, was mit ihren Inhalten passiert.

    Eine Website, die sich an WWW-Entwickler wendet, könnte zum Beispiel HTML-Dateien wahlweise als text/html und als text/plain ausgeben, damit sie wahlweise als HTML oder als Quelltext verarbeitet und angezeigt werden. Wenn der Browser den MIME-Typ einfach errät, hat der Autor diese Möglichkeit nicht mehr.

  2. Sicherheit

    Manche Dateitypen, zum Beispiel ausführbare Programme, stellen prinzipiell ein Sicherheitsrisiko dar. Deswegen sind für diese MIME-Typen die Möglichkeiten, wie der Browser damit umgeht, üblicherweise eingeschränkt. Ein ausführbares Programm sollte auf auf dem Rechner des Benutzers nicht ausgeführt werden, sondern höchstens dazu führen, daß der Benutzer gefragt wird, ob er die Datei herunterladen will.

    Die MIME-Typ-Raterei hat zu einem Sicherheitsloch in Internet Explorer geführt, das nach folgendem Prinzip »funktioniert«: Ein böswilliger Website-Betreiber gibt für eine gefährliche Datei fälschlicherweise einen MIME-Typ an, der auf ungefährliche Dateiformate hinweist. Dadurch wird die normale Download-Rückfrage umgangen; die nachgeschaltete »Rateschaltung« stellt fest, daß es sich um ein ausführbares Programm handelt, und Internet Explorer führt es auf dem Rechner aus.

Wie Sie den richtigen MIME-Typ für Ihre Inhalte herausfinden

Sie können auf unterschiedliche Art und Weise herausfinden, welcher MIME-Typ für Ihre Inhalte richtig ist.

  1. Lesen Sie die Dokumentation der Anwendung, mit der Sie die Datei erstellt haben, um zu sehen, welche MIME-Typen zu den von diesem Programm erstellten Dateitypen gehören.
  2. Sehen Sie in der IANA-Liste registrierter MIME-Typen nach.
  3. Wenn in Gecko-Browsern ein Plugin verwendet wird, um die Datei anzuzeigen, installieren Sie dieses Plugin und sehen Sie im Menü »Hilfe / Über Plug-Ins« nach, um zu sehen, welche MIME-Typen zu dem Dateiformat gehören.
Copyright © 2001–2003 Netscape. All rights reserved. Übersetzung Copyright © 2003 Lars Trebing (siehe Impressum). Originalversion: Properly Configuring Server MIME Types von Bob Clary, Netscape Communications.