Det är viktigt att ett objekt på webben har en rätt satt MIME-typ så att webbläsaren utan problem ska veta hur ett filinnehåll ska tolkas.
För HTML är MIME-typen text/html. MIME-typen för XHTML är application/xhtml+xml.
W3C skriver att man att man kan använda text/html på XHTML 1.0-filer i kompatibelitetssyfte,
annars bör XHTML-filer ha application/xhtml+xml som MIME-typ, även om text/html är tillåtet.
IE version 6 känner inte igen MIME-typen application/xhtml+xml!
Med Opera 7.x och Mozilla 1.x är det inga problem.
Med detta i åtanke, hur går man efter W3Cs rekommendationer?
Jo, man skickar application/xhtml+xml till Opera, Mozilla och andra webbläsare som stödjer det
och skickar text/html till IE och andra dåliga webbläsare.
Man kan lösa detta genom exempelvis Content Negotiation.
Om dina sidor är skrivna i något skriptspråk,
går det dock lättast att fixa det med några lätta skriptrader.
Det man då kollar efter är HTTP-begärans Accept-huvud,
som är en sträng med MIME-typer som klienten tror sig klara.
Om application/xhtml+xml finns med i denna, sätt MIME-typen till dito,
annars "fall tillbaka" på text/html.
Juicy Studios har implementationsförslag för
PHP,
ASP och
Perl.
Kodexempel i PHP:
<? if (stristr($_SERVER[HTTP_ACCEPT], "application/xhtml+xml")) echo 'Denna webbläsare stödjer application/xhtml+xml som MIME-typ'; ?>