2012-02-05 122 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都是「應用程序」,一切仍然有效,它讓你更快樂,那就去做吧。