2012-02-05 114 views

回答

3

XHTML是XML的一个子集; XML的媒体类型/ MIME为text/xml,而XHTML的媒体类型/ MIME为application/xhtml + xml

通常,HTML基本上被视为非常松散地解释为纯文本。由于HTML的垃圾状态信誉XHTML是为了强制网页设计师和Web开发人员编写干净的HTML代码而创建的。 Gecko(Firefox)和Presto(Opera)浏览器正确地打破页面并显示格式错误的XML解析错误,而WebKit(Chrome/Safari)和Trident(仅限Internet Explorer 9.0+)在失败时失败,仅停止呈现页面。

用作text/html的XHTML应用程序不是XHTML,它是带有XHTML文档类型的HTML。

要将XHTML代码作为XHTML应用程序提供,它必须作为application/xhtml + xml提供。

XHTML也打算向后兼容HTML。

下面的PHP代码将查看客户端浏览器发送的头文件,并在浏览器支持它的情况下将该页面作为XHTML应用程序提供(所有Chrome,Safari 3.0+(可能为1.0)),Mozilla Suite 0.8 +/all Firefox和Opera 7.0+(可能为6.0)支持XHTML。只有Internet Explorer 8.0和更高版本才具有不支持XHTML的市场份额。 KHTML浏览器(Konqueror)DO支持XHTML,但我认为4.4不会向服务器提供正确的头文件。

<?php 
$http_accept_xhtml = stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml'); 

if ($http_accept_xhtml) {$mime = 'application/xhtml+xml';} 
else {$mime = 'text/html';} 

header('Content-Type: '.$mime); 
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; 
?> 

如果您足够聪明,在遇到错误时能够修复错误,那么XHTML比HTML更好。它更严格,但这就是重点,更不用说主观性。 XHTML中的X代表可扩展性,所以如果你做了一些阅读,它在HTML之前就支持SVG和其他语言。

0

对于多种数据,有几种可接受的MIME类型。例如,XML可以是text/xml或application/xml(http://tools.ietf.org/html/rfc3023)。

HTTP充满了多种正确的方式来做东西;这是许多人设计和使用的副产品。它也在不断发展。一般来说,即使只有一种设计方法,但可以有多种方式来使用它们,并且在有足够的人接受它们之后,这些方法就成为事实上的标准。

如果你没有发现任何问题,说你的XHTML和SGML都是“应用程序”,一切仍然有效,它让你更快乐,那就去做吧。