(Übersetzung von Bob Clarys DevEdge-Artikel »Properly Configuring Server MIME Types«)
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.
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ß.
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.
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.
Abgesehen davon, daß dadurch die HTTP-Spezifikation mißachtet wird, ist das Raten von MIME-Typen aus folgenden Gründen eine schlechte Strategie:
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.
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.
Sie können auf unterschiedliche Art und Weise herausfinden, welcher MIME-Typ für Ihre Inhalte richtig ist.
Letzte Änderung: 7. Mai 2011 · Impressum · Übersicht · Kontakt