-1

当我查看 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 宕机时会发生什么?

4

2 回答 2

2

文档类型定义基本上是用来告诉浏览器正在使用哪个版本的 HTML。它可以追溯到 SGML(标准通用标记语言)。SGML 主要用于向浏览器解释如何理解文档的结构(例如 HTML 页面)。有趣的是,XML 是 SGML 的一个受限子集,其中许多(外来)特性被关闭。

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

当 W3C.org 出现故障时,他们会继续使用缓存的副本。当然,除非您指定另一个 URL...

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

于 2013-05-09T19:02:00.917 回答
1

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

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

于 2013-05-09T18:55:53.423 回答