Was hat Vorrang: MIME-Typ oder Dateiendung?
Moguai77
- webserver
Hallo zusammen,
mir ist leider nicht klar, was beim Server Vorrang hat:
Die Angabe des MIME-Types in einer XHTML-Datei,
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
oder aber die Dateiendung, z.B. xhtml?
Wie gibt der Server denn den MIME-Type an den Browser weiter? Müsste nicht immer die explizite Angabe im Meta-Tag der Datei für den Browser Vorrang haben? SELFTHMTLs Darstellung zu den Unterschieden von XTHML und HTML verwirrt mich etwas...
Kann mir jemand weiterhelfen?
LG Moguai
Hallo,
Auf jeden Fall der MIME-Type, der per Header gesendet wurde.
mfg, Flo
Yerf!
Wie gibt der Server denn den MIME-Type an den Browser weiter?
Über einen HTTP-Header.
Müsste nicht immer die explizite Angabe im Meta-Tag der Datei für den Browser Vorrang haben?
Nein. Vorrang haben die HTTP-Header, die Meta-Angaben sind nur "equivalent" (daher der Name) und dienen als Fallback, falls kein HTTP-Header zur Verfügung steht (z.B. weil man die Datei vom lokalen Dateisystem aus öffnet)
Der HTTP-Header wird vom Server häufig anhand der Dateiendung ermittelt, es kann aber auch ein anderer Mechanismus vorhanden sein (z.B. analysieren der Datei auf typische Merkmale).
Gruß,
Harlequin
Hi,
oder aber die Dateiendung, z.B. xhtml?
HTTP kennt keine Dateien. Ergo existiert nichts, was "Dateiendung" genannt werden kann. Irgendwelche Teile der URL sind allenfalls dann relevant ("if and only if", Zitat RFC 2616, Sektion 7.2.1), wenn keinerlei MIME-Angabe mitgeliefert wurde - hier darf der Client dann raten.
Wie gibt der Server denn den MIME-Type an den Browser weiter?
Als Response-Header. Um übrigens einen Content-Type aus dem HTML-Code analysieren zu können, muss der Client den Response zunächst als HTML-Content-Type erkannt haben.
Müsste nicht immer die explizite Angabe im Meta-Tag der Datei für den Browser Vorrang haben?
Was ist, wenn irgend ein Daten-Format es erlaubt, den Content-Type in Form von zwei Bytes an Position 73 und 119 anzugeben? Müsste der nicht Vorrang haben? Wenn ja, müsste dann der Client nicht bei jedem Response (ob HTML-Dokument, PDF, Grafik, JavaScript oder sonstwas) diese beiden Bytes lesen und darauf reagieren, indem das ausgelieferte GIF beispielsweise als MP3 interpretiert wird? Und müsste der Browser dann nicht die GIF-Daten automatisch als Sound abspielen?
Ich kann mir nicht helfen, aber irgendwo sehe ich in dieser Vorgehensweise leichte Schwierigkeiten.
Cheatah