3

有人可以帮我理解 html/xhtml 页面的文档类型和内容类型之间的区别吗?

我知道浏览器使用文档类型来确定选择哪种模式(标准/怪癖)并遵循要使用的文档类型架构?

  1. 那么我们在元标记中指定的内容类型是什么?
  2. 它与文档类型有任何关系/差异吗?
  3. 这种内容类型在页面渲染方面有何重要意义?
  4. 指定内容类型是否有助于浏览器的性能?
  5. 另外,所有内容类型都有哪些?
4

4 回答 4

5

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?

于 2012-11-05T19:45:41.280 回答
2

文档类型声明主要用于

  • 基于 DTD(文档类型定义)的验证
  • 触发不同的浏览器渲染模式

HTML5 doctype 声明仅用于在浏览器中触发标准模式,因为 HTML5 没有文档类型定义。

内容类型决定了页面是作为 HTML 标记还是 XML 序列化 (XHTML) 标记提供的。

  1. 那么我们在元标记中指定的内容类型是什么?

    对于 HTML,它是text/html. 这是大多数网页的默认设置。
    对于 XHTML,它(通常)是application/xhtml+xml.

    还有一个字符编码,通常是charset=utf-8.

    不过,这通常无关紧要。在大多数情况下,内容类型将由服务器在 Content-Type HTTP 标头中发送。当浏览器选择标题时,它将忽略元标记。

    在 HTML5 中只指定了字符集:

    <meta charset="UTF-8">
    
  2. 它与文档类型有任何关系/差异吗?

    不。

  3. 这种内容类型在页面渲染方面有何重要意义?

    假设它是格式良好的 XML,相同的标记在某些情况下可以生成不同的 DOM,application/xhtml+xml而不是text/html. 这些差异很小,但可能对页面呈现有不同的影响。

    您可以编写将生成相同 DOM 的标记,无论是作为 HTML 还是 XHTML。这称为多语言标记

  4. 指定内容类型是否有助于浏览器的性能?

    不。

  5. 另外,所有内容类型都有哪些?

    关于 HTML/XHTML,只有我提到的两个。所有其他内容类型(或 MIME 类型)在这里都无关紧要。

于 2012-11-05T19:45:15.713 回答
0

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

于 2012-11-05T19:46:20.747 回答
0
  1. 内容类型是发送到客户端的 MIME 类型的内容(例如,用于 HTML 的text/html或用于 XHTML 的application/html+xml)。一般来说,内容类型对于浏览器来说就像文件扩展名一样,比方说对于 Windows。
  2. 是的,它确实。两者都可以确定相同的(例如 XHTML)。但是文档类型更具体——它可以包含文档使用的格式的版本,例如 HTML 4.01(内容类型不会告诉你)。
  3. 文档类型对页面渲染的影响更大。
  4. text/plain用于 TXT 文件,text/html用于 HTML,application/xhtml+xml用于 XHTML,text/css用于 CSS,等等... http://www.freeformatter.com/mime-types-list.html
于 2012-11-05T19:53:11.707 回答