什麼使XHTML(和其他XML語言)應用程序,而其他基於SGML的語言是文本?不是XML文件的文本文件?爲什麼HTML文本的MIME類型是XHTML應用程序的MIME類型?
回答
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和其他語言。
對於多種數據,有幾種可接受的MIME類型。例如,XML可以是text/xml或application/xml(http://tools.ietf.org/html/rfc3023)。
HTTP充滿了多種正確的方式來做東西;這是許多人設計和使用的副產品。它也在不斷髮展。一般來說,即使只有一種設計方法,但可以有多種方式來使用它們,並且在有足夠的人接受它們之後,這些方法就成爲事實上的標準。
如果你沒有發現任何問題,說你的XHTML和SGML都是「應用程序」,一切仍然有效,它讓你更快樂,那就去做吧。
- 1. xHTML IE7 MIME類型
- 2. Sails.JS - MIME類型文本/ html
- 3. 什麼MIME類型是純文本?
- 4. .htaccess文件的MIME類型是什麼?
- 5. 什麼是wsdl文件的mime類型?
- 6. 什麼是.py文件的MIME類型?
- 7. Rails 3.2中的'Mime'和'MIME'(文件上傳類型)是什麼?
- 8. 什麼是.NET的各種文件類型的mime類型?
- 9. 使用帶有「text/html」MIME類型而不是HTML doctype的XHTML 1.1文檔類型有什麼好處嗎?
- 10. 什麼是vcalendar的正確MIME類型
- 11. 什麼是.mobileprovision的MIME類型
- 12. 什麼是TypeScript的MIME類型?
- 13. JSON的正確MIME類型是什麼?
- 14. 爲什麼這麼多MIME類型?
- 15. MIME類型爲.txt文件?
- 16. 哪些常用的MIME類型是純文本類型?
- 17. 究竟是什麼MIME類型
- 18. 這些Google Drive MIME類型是什麼?
- 19. 什麼是.do文件?它的MIME類型是什麼?
- 20. 指定MIME類型的PHP文件作爲應用程序/ javascript
- 21. MIME實體的通用MIME類型?
- 22. tgz的MIME類型
- 23. msgpack的MIME類型?
- 24. MIME類型
- 25. htaccess mime類型
- 26. cvs2svn MIME類型
- 27. YAML mime類型?
- 28. 空Mime類型
- 29. WPF&Mime類型
- 30. Erlang mime類型
HTML不再基於SGML。 – 2012-02-05 16:58:30