HTMl doctype的.dtd的目的是什么?

时间:2013-05-09 18:54:06

标签: html doctype

当我查看XHTML文档类型时,有一个.dtd文件。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

它的目的是什么?

浏览器是否实际访问它并使用它来解析HTML?

如果是这样,当w3.org出现故障时会发生什么?

2 个答案:

答案 0 :(得分:2)

文档类型定义基本上是告诉浏览器正在使用的HTML版本。它可以追溯到SGML(标准通用标记语言)。 SGML基本上用于向浏览器解释如何理解文档的结构(例如HTML页面)。有趣的是,XML是SGML的一个受限子集,关闭了许多(异国情调)功能。

浏览器确实使用它来解析文档,但是每次获取文档时,它们都不需要使用请求来核对W3C服务器。相反,他们使用缓存的本地副本。

当W3C.org发生故障时,他们会继续使用缓存副本。除非您指定其他URL ...

有关DOCTYPE声明的另一个注意事项是它已经在HTML5中消失了,因为HTML5不再基于SGML。 HTML5使用<!DOCTYPE html>

答案 1 :(得分:1)

浏览器实际上并没有从w3.org读取该文件。

相反,他们有一个已知的DTD URI列表,他们知道如何处理每个URI。 (可能使用浏览器中嵌入的DTD文件的副本)