为什么要在HTML文件上放置XHTML doctype声明?那是做什么的?

为什么要在HTML文件上放置XHTML doctype声明?那是做什么的?,第1张

概述我想知道我遇到的网页数量是HTML文件,但是它带有XHTML DOCTYPE声明. 为什么人们这样做?他们希望实现什么目标?为什么不为实际的XHTML文件保留XHTML doctype声明? 或者我错过了什么? 编辑:对于“实际的XHTML文件”是什么有一些混淆;为了证明差异不是由DOCTYPE声明引起的,比较this file到this one.第一个是HTML,第二个是XHTML,虽然内容相同 我想知道我遇到的网页数量是HTML文件,但是它带有xhtml DOCTYPE声明.
为什么人们这样做?他们希望实现什么目标?为什么不为实际的xhtml文件保留xhtml DOCTYPE声明?

或者我错过了什么?

编辑:对于“实际的xhtml文件”是什么有一些混淆;为了证明差异不是由DOCTYPE声明引起的,比较this file到this one.第一个是HTML,第二个是xhtml,虽然内容相同;只有文件类型不同.两者都在兼容的浏览器中显示良好,但第一个用HTML解析器解析,第二个用XML解析器解析.

解决方法

Why put an xhtml DOCTYPE declaration on HTML files? What does that do?

所有这一切都是告诉标记验证者他们即将验证xhtml文档,而不是常规的,基于SGML的HTML文档.它描述了内容,或者更具体地说是后面的标记,但没有别的.

Why are people doing this? What do they hope to achIEve? Why not reserve the xhtml DOCTYPE declaration for actual xhtml files?

Or am I missing something?

有点.实际发生的事情是,人们并不知道只是在HTML文档之上放置xhtml DOCTYPE声明并不会自动将其转换为xhtml文档,尽管这是每个人都希望的.

你看,大多数Web服务器和/或Web应用程序都没有配置为正确地将xhtml文档序列化为application / xhtml xml,而是选择将Web页面作为text / HTML提供服务. (对于服务器,它通常是因为.HTML文件扩展名比其他任何东西更重要,真的.)这导致浏览器决定他们收到一个普通的HTML文档,所以标签汤解析废话我们都知道和喜欢不可避免地随之而来.

请注意,即使您的xhtml文档上有这样的元标记也没关系:

<Meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />

浏览器将忽略它,并且只查看与xhtml文档一起发送的实际http Content-Type标头.

更糟糕的是,Internet Explorer作为xhtml鼎盛时期过去几年中最常用的浏览器,在版本9最终发布之前从未正确支持application / xhtml xml MIME类型:而不是解析标记,构建DOM和呈现页面,它所要做的就是要求下载文件.这不是一个非常有用的xhtml页面!

那么,猜猜在HTML5变得酷酷之前我们都必须忍受什么?

这与ie6在DOCTYPE声明之前使用XML声明的页面上的quirky一样,也是导致xhtml崩溃的最大因素之一(与xhtml 1.1一起从未得到广泛使用,xhtml 2.0被取消而支持HTML5 ).

总结

以上是内存溢出为你收集整理的为什么要在HTML文件上放置XHTML doctype声明?那是做什么的?全部内容,希望文章能够帮你解决为什么要在HTML文件上放置XHTML doctype声明?那是做什么的?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存