原文:http://www.w3.org/QA/Tips/Doctype(可能是英文)
添加什么
HTML 不是只有一种类型,实际上它们有:HTML 4.01 Strict, HTML 4.01 Transitional, XHTML 1.0 Strict,等等更多。所有这些 HTML 类型都在它们独自的 W3C 规范中定义,不过它也同样在机器可读语言中定义用于说明逻辑结构,HTML 元素和属性。
如此这样一个定义被称作为“Document Type Definition”,或者科称为:DTD。
像网页浏览器这样的工具在处理 HTML 文档时,应该知道使用的是哪一个 (X)HTML 的 DTD:这就是为什么每一个 (X)HTML 文档必须在最开头定义 DTD 声明,就像如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
根据其语法,DTD 声明也常常简称为 "Doctype"。
为什么
为什么要指定 doctype,因为它定义了我们的文档究竟使用的哪一个 (X)HTML 版本,对于浏览器或其它文档处理工具来说,这是很重要的一部分信息。
比如:在文档中定义 doctype,允许你使用像 Markup Validator 这样的工具检查你的 (X)HTML 语法(用以发现可能影响你的页面在不同浏览器中解释方法不同的错误)。如果这些工具不知道你的文档的类型,它们不会工作。
不过最重要的事是,在许多浏览器家庭中,doctype 声明将减少一些不必要的猜测,将启动标准的语法分析模式,这样不仅仅是加快了解析速度,更保证了前后一致性,避免因 doctype 缺少造成的严重问题。