2011-01-21 78 views
6

当我宣布一个DOCTYPE我只是想知道,如下所示:客户端浏览器是否下载了HTML Doctype URL?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

是strict.dtd从http://www.w3.org/TR/html4/读取或者这只是作为一个不起眼的ID告诉浏览器使用严格处理?

也许浏览器将http://www.w3.org/TR/html4/的内容永久保存在本地?

+0

你会说这就是[文档类型定义(DTD)](http://en.wikipedia.org/wiki/Document_Type_Definition)在相反到所提及的[文档类型声明(DOCTYPE)](http://en.wikipedia.org/wiki/Document_Type_Declaration)。 – Gumbo 2011-01-21 11:50:33

回答

3

正常的网络浏览器将Doctype视为魔术字符串来表示标准模式或怪癖模式。他们不会将URI视为URI,也不会下载DTD。他们甚至不使用DTD进行分析,而是使用内置的标签汤分析器。

如果验证解析器没有可根据PUBLIC标识符(URI是SYSTEM标识符)识别的本地副本,则会下载它。他们应该缓存它,但很多都没有,到了W3C阻止大多数(如果不是全部)DTD请求在Doctypes中给出的URI的时候 - 他们无法承受带宽。

1

这是从维基百科页面的提取物"DTD"

由于网络浏览器实现与 特殊用途的HTML解析器, 而不是通用的DTD为主 解析器,他们不使用DTD和将 从未访问它们即使网址是 提供

相关问题