如何使xhtml页面遵循严格的语法检查?

时间:2012-11-01 15:14:49

标签: html xhtml doctype xhtml-1.0-strict

我正在学习XHTML。如果我的理解是正确的,XHTML遵循严格的语法。所以我创建了这个标记:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
    <head>    
        <title>XHTML page</title>
<!--    </head> -->
    <body>
        This is the body
    </body>
</html>

我评论了结束头标记以检查XHTML的严格性。当我用.xhtml扩展名保存此文件时,显示错误。但是当我使用.html扩展程序保存它时,浏览器非常宽容并且无论头部标记丢失都会呈现标记。

所以我的疑问是,是扩展名(.xhtml)是什么使文件实际上是xhtml并赋予它严格的语法行为?不应该是DOCTYPE决定它是否是一个xhtml?

从我在某处读到的内容,在HTTP中,文件扩展名并不重要,它的标题类型也很重要。

1 个答案:

答案 0 :(得分:3)

当从Web服务器提供时,它是mime类型(也称为内容类型),用于确定浏览器是将文档视为XHTML还是HTML。浏览器从不使用DOCTYPE来确定页面是否为XHTML(但HTML5之前的验证程序确实如此)。

当浏览器从文件系统本地读取文件时,它确实使用文件扩展名来决定它是XHTML还是HTML。

有时,但并非总是如此,服务器设置为如果客户端请求带有&#34; .xhtml&#34;的网址。最后,文档将以XHTML(e,g,application/xhtml+xml)mime类型提供。