为什么<meta>和<title>标签要按照这种方式排序?

3
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 <title>Test Title</title>
 <meta name="description" content="">
 <meta name="viewport" content="width=device-width">

为什么两个meta标签总是在title之前出现,其他的则在之后呢?
是否有任何原因(兼容性、编码参考或规则),我不能把所有的meta标签都放在title之前呢?

我只听说过在<link>标签之后放置<script>标签。我认为这没有任何实际意义。 - Blender
我从来没想过这很重要。 - MazB
请参阅http://www.w3.org/TR/html5/the-meta-element.html#charset。 - 0b10011
1
继@bfrohs所说,HTML5规范指出charset <meta>元素必须出现在文档的前1024个字节中。因此越早越好,这样可以消除长的<title>元素可能将charset meta推到文件的第一个千字节以外的可能性。 - Dai
2个回答

5
浏览器需要尽早知道字符编码。其他元素(包括标题)可能包含仅在使用特定编码时具有意义(或正确含义)的字符。
在标题之前不需要出现任何其他元标记。
“我是否可以在标题之前放置所有元标记?”没有任何理由(兼容性、编码参考或规则)。
标题出现得越早,浏览器就能越快地显示它(在标题栏、选项卡等处)。

2

从严格的理论角度来看,这部分是不必要的,但它确实有意义。

如果您首先告诉浏览器它是处理的<HTML>文档,然后告诉它内容/字符集是UTF-8,那么浏览器就会知道如何正确处理title文本,并使用正确的字符集。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接