2012-11-05 133 views
1

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

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

  1. 那么我们在元标记中指定的内容类型是什么?
  2. 它与文件类型有任何关系/差异吗?
  3. 当页面呈现时,这种内容类型是如何显着的?
  4. 指定内容类型是否有助于浏览器的性能?
  5. 此外,什么样的内容类型?
+2

谷歌会给你更好的答案 –

回答

2

文档类型声明是有主要用于

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

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

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

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

    对于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。这被称为polyglot markup

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

  5. 此外,什么所有内容类型有哪些?

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

+0

关于第三点:假设我在严格模式(没有任何缺失标记或语法错误)下创建标记,并将内容类型用作text/html,这将使DOM结构与相同的标记保存为内容类型:application/xhtml + html? – Ivin

+0

@goose:如果您的标记不符合我的链接中提供的polyglot标记准则。 – BoltClock

+1

您可以将XHTML作为HTML提供服务的一个主要问题是,如果您有自闭合脚本或样式标记(例如

4

的HTTP标头Content-Type,为此,http-equiv="Content-Type" HTML元标签是后备只,表示的文件一般类型的文件是什么。这是一个text/html文档,浏览器是否应该启动其HTML解析器?或者它是一个application/pdf文档,浏览器需要加载它的PDF插件?或者是完全不同的东西?如果适用,此标题/标签还应指定文档所在的编码

HTML文档类型指定精确 HTML文档的类型和版本。它是HTML 5文档吗? HTML 4严格?过渡?还是只有传统标签汤?

0

HTML文档类型

该声明不是HTML标记;它是什么版本的HTML的网页上写的是Web浏览器的指令

来源:w3schools

虽然

内容类型

内容属性给出了与相关联的值http-equiv或name属性。

来源:w3schools

0
  1. 内容类型是被发送到客户机(例如text/html的的HTML或应用/ HTML + xml的为XHTML)的内容的MIME类型。一般来说,内容类型适用于浏览器,文件扩展名是什么,比方说,Windows。
  2. 是的,它的确如此。两者都可以确定相同的(例如XHTML)。但文档类型更具体 - 它可以包含文档使用的格式版本,例如HTML 4.01(内容类型不会告诉你)。
  3. 文档类型是什么影响页面渲染更多。
  4. text/plain的为TXT文件,text/html的为HTML,是application/xhtml + xml的为XHTML,文/对CSS的CSS,等等... http://www.freeformatter.com/mime-types-list.html
相关问题