XHTML和HTML之间的主要区别是什么?你认为哪一个更好,为什么?大多数浏览器都支持吗?
XHTML基于XML,因此要求源格式良好.由于XHTML比HTML更严格,因此渲染引擎需要较少的预处理.
XHTML应该作为application/xhtml + xml提供,以便您利用这些优势,否则XHTML将被视为普通的HTML.由于Internet Explorer无法处理XHTML,因此将其作为"application/xhtml + xml"提供在Web上并不常见.
这可能是我读过的最好的文章,每篇文章的差异和相对优点:
我们应该使用哪种HTML或XHTML,为什么?
WHATWG wiki还有一个相当技术性的比较.
可扩展超文本标记语言(XHTML)是一种标记语言,具有与HTML相同的表达深度,但也符合XML语法.
XHTML是"HTML 4的现代版本".
更多信息:维基百科和W3C
不同之处在于XHTML基于XML而HTML基于SGML.
浏览器将SGML解析器用于与内容类型text/html
和XML解析器一起发送的内容application/xhtml+xml
.
使用SGML解析器时,即使文件中遇到语法错误,浏览器也会继续解析.这就是为什么很多人认为他们在向浏览器发送外观文件时正在做XHTML的原因.这实际上是一个错误,因为这会在浏览器中触发许多解析错误并减慢渲染过程.
使用XML解析器时,浏览器将在遇到语法错误时停止解析并显示XML错误.这当然仅适用于具有HTML内容的XML解析器的浏览器,而对于仅下载文件而不显示该文件的Internet Explorer则不然.
那你该怎么办?
如果需要语法检查和XML强加的严格结构,则应该使用XHTML.您应该记住,您必须使用错误的内容类型将XHTML内容发送到Internet Explorer,并隐含所有问题.您还应该记住,只要文件中包含无效内容,您的文档就会中断,因此您必须非常小心地清理任何用户输入.
你应该使用HTML做其他事情.HTML只是工作,今天是一个非常支持的标准.即使是下一个标准HTML 5也定义了基于SGML的语法,因此这将持续.
请记住,无论您选择何种格式,验证输出始终是检测语法错误的好主意.