有人可以帮我理解 html/xhtml 页面的文档类型和内容类型之间的区别吗?
我知道浏览器使用文档类型来确定选择哪种模式(标准/怪癖)并遵循要使用的文档类型架构?
- 那么我们在元标记中指定的内容类型是什么?
- 它与文档类型有任何关系/差异吗?
- 这种内容类型在页面渲染方面有何重要意义?
- 指定内容类型是否有助于浏览器的性能?
- 另外,所有内容类型都有哪些?
有人可以帮我理解 html/xhtml 页面的文档类型和内容类型之间的区别吗?
我知道浏览器使用文档类型来确定选择哪种模式(标准/怪癖)并遵循要使用的文档类型架构?
The HTTP Content-Type
header, for which the http-equiv="Content-Type"
HTML meta tag is a fallback only, signifies what general type of document the document is. Is it a text/html
document and should the browser fire up its HTML parser? Or is it an application/pdf
document and the browser needs to load its PDF plugin? Or is it something completely different? This header/tag should also specify the encoding the document is in, if applicable.
The HTML Document Type specifies the exact type and version of the HTML document. Is it an HTML 5 document? HTML 4 Strict? Transitional? Or just legacy tag soup?
文档类型声明主要用于
HTML5 doctype 声明仅用于在浏览器中触发标准模式,因为 HTML5 没有文档类型定义。
内容类型决定了页面是作为 HTML 标记还是 XML 序列化 (XHTML) 标记提供的。
那么我们在元标记中指定的内容类型是什么?
对于 HTML,它是text/html
. 这是大多数网页的默认设置。
对于 XHTML,它(通常)是application/xhtml+xml
.
还有一个字符编码,通常是charset=utf-8
.
不过,这通常无关紧要。在大多数情况下,内容类型将由服务器在 Content-Type HTTP 标头中发送。当浏览器选择标题时,它将忽略元标记。
在 HTML5 中只指定了字符集:
<meta charset="UTF-8">
它与文档类型有任何关系/差异吗?
不。
这种内容类型在页面渲染方面有何重要意义?
假设它是格式良好的 XML,相同的标记在某些情况下可以生成不同的 DOM,application/xhtml+xml
而不是text/html
. 这些差异很小,但可能对页面呈现有不同的影响。
您可以编写将生成相同 DOM 的标记,无论是作为 HTML 还是 XHTML。这称为多语言标记。
指定内容类型是否有助于浏览器的性能?
不。
另外,所有内容类型都有哪些?
关于 HTML/XHTML,只有我提到的两个。所有其他内容类型(或 MIME 类型)在这里都无关紧要。
HTML Document Type
The declaration is not an HTML tag; it is an instruction to the web browser about what version of HTML the page is written in.
Source: w3schools
While
Content Type
The content attribute gives the value associated with the http-equiv or name attribute.
Source: w3schools