Sven Rautenberg: HTML durch PHP downloaden

Beitrag lesen

Moin!

und entspricht bei weitem nicht dem Szenario, das du hier formuliert hast. "Raten" findet nur bei ganz bestimmten, eindeutig beschreibbaren Mime-Typangaben statt, und zwar bei jenen, die in der Vergangenheit gern mal von Serveradmins fehlkonfiguriert wurden.

Ah ja. Dann gib mal einem IE ein HTML-Dokument, sende dazu aber den Content-Type text/plain. Ein anständiger Browser stellt nur noch den Quellcode dar, er behandelt die Daten tatsächlich als Plain Text. Der IE dagegen erkennt an den ersten paar Bytes (vermutlich am <html>-Tag), dass es wohl HTML sein soll und interpretiert es entsprechend. Den angegebenen Content-Type ignoriert er geflissentlich.

"text/plain" zählt der IE zu den "verdächtigen" Mime-Typen, die einer Inhaltsanalyse unterzogen und ggf. korrigiert dargestellt werden.

Ebenso gehört "application/octet-stream" dazu.

Während ersterer Mime-Typ noch einigermaßen verständlich als "verdächtig" mit Autokorrektur nachvollziehbar sein kann, ist letzterer dafür verantwortlich, dass man keinen expliziten Download mit diesem "verdächtigen" Mime-Typ realisieren kann und auf Konstruktionen wie "Datei zippen" oder andere, ungültige bzw. besser selbstdefinierte Mime-Typen zurückgreifen muss. "application/force-download" ist definitiv ungültig, weil er einen offiziell klingenden Subtyp hat, der aber nicht registriert ist. Der IE kennt den aber nicht und er ist deshalb auch nicht in der Liste verdächtiger Mime-Typen enthalten.

Die nach RFC-Lage korrekte Lösung wäre mindestens, "application/x-force-download" zu verwenden. Gesehen habe ich auch schon "application/x-ms-download" - kommt alles beides aufs Selbe raus: Unbekannter, nicht "verdächtig" gelisteter Mime-Typ im IE.

Es sei denn, das sei mit IE8 irgendwann repariert worden - ich habe das Phänomen lange nicht mehr getestet.

http://msdn.microsoft.com/en-us/library/ms775147(v=vs.85).aspx

- Sven Rautenberg