hallo cowboys, heute ist ein schöner tag, um durch die weiten zu reiten
ich habe mal eine frage. wenn ich einen gültige html datei irgendwie umbenenne, zum beispiel in meinname.abc und darauf verweise, dann wird die vom ie verstanden. geht das immer, zumindest beim ie?
Du mußt unterscheiden zwischen "Es steht im Standard" und "Der IE macht es".
Im Standard steht: Der Server schickt einen Mime-Typ mit der Ressource mit, die Ressourcenbezeichnung (das, was du wohl unter "Dateiname" verstehst) ist aber total egal. Insofern kann eine Ressource vom Typ "text/html" jede beliebige Bezeichnung haben, egal ob ".html", ".php" oder ".mad". Der Webserver muß nur gesagt bekommen, daß all diese Dinge mit dem Mimetyp "text/html" auszuliefern sind.
Der IE schießt hierbei quer. Er ignoriert ein paar Mimetypen bewußt und analysiert stattdessen den gesendeten Inhalt der Ressource. Auf diese Weise kann man leider nicht das übliche Mimetypen-Täuschen anwenden, um einen Download zu erzwingen, indem man "application/octet-stream" als Mimetyp setzt, weil der IE da mißtrauisch nachguckt, was wirklich drinsteckt. Findet er dort eine HTML-Datei, wird er sie als Seite anzeigen. Steckt ein JPG- oder GIF-Bild drin, wird es angezeigt, nicht gespeichert. Vermutlich werden PDF-Dateien und Office-Dokumente ebenfalls den zuständigen Plugins und Programmen übergeben.
"text/plain" (also die schlichte Textdatei) ist ebenso auf dem Prüfstand. Es hat schon Leute gegeben, die haben ihre Seiten komplett als ".txt"-Dateien auf den Server gepackt und wunderten sich dann, daß der Netscape damit so seine Probleme hatte - außerdem waren sie noch beratungsresistent...
Das Verhalten des IE ist also nicht korrekt, weil standardwidrig.
ich sehe neuerdings im web immer irgendwas.do oder .msn und so lustige dateiendungen, aber die müssten ja generell auch gültigen htmlcode enthalten und sind nur der exotik halber umbenannt oder?
Lustige Dateiendungen sind meist kennzeichnend für irgendwelche CMS-Systeme. Standardkonfiguration beim Apache ist nämlich, daß er nur Dateien mit der Endung ".htm" oder ".html" erkennt und ihnen den Mimetyp "text/html" zuordnet. Wenn du das ändern/ergänzen möchtest: Gar kein Problem, kannst du einfach machen.
Wenn du allerdings über keinen Server verfügst, dann könnte es sein, daß andere Browser die Dateiendungen als Erkennungsmerkmal heranziehen - und bei ".mad" dann einfach den Quelltext zeigen, anstatt die Seite zu interpretieren.
- Sven Rautenberg