2012-02-23 64 views
9

我可以在元标记或响应头中删除一些信息,如编码和语言。
我的问题:什么最好的办法(也许他们俩),为SEO旧浏览器响应标头VS元标记

元标记例如:< META HTTP-当量= “内容类型” CONTENT = “text/html的;字符集= UTF-8” >
(PHP)报头例如:头('内容 - 类型:text/html; charset = utf-8');
有什么更好?

回答

11

meta http-equiv只是一个笑话而已。使用它指定Content-Type时,只有charset部分才计算任何内容,然后仅当真正的HTTP头未能指定编码时才计数。

+0

默认情况下,Content-Type标题是“text/html”。和浏览器(至少firefox)读取它不是utf-8。但是如果指定了http-equiv Content-Type,它就是正确的。 – 2012-02-23 16:35:53

+1

@ Dani-Br - 因此默认情况下,PHP无法在HTTP标头中指定编码,并且行为如我所说。 – Quentin 2012-02-23 16:37:11

+0

@Quentin如果您使用PHP,您可以随时添加自己的标题。 PHP应该如何知道您正在生成的内容的字符集? – sstn 2014-05-14 14:10:39

14

两者兼而有之。标头优先,但如果HTML页面在本地访问,则不存在HTTP标头,因此您希望将<meta charset="...">作为安全机制。

+0

在本地访问页面时(当页面保存在用户的PC上时),它通过文件的编码完成,浏览器知道如何通过元/页眉信息保存文件。所以,我的问题只是关于服务器端。 – 2012-02-23 16:39:44

+7

@ Dani-Br这是无稽之谈。确定“文件的编码”正是元标签的用途。操作系统和文件系统不会奇迹般地存储每个文本文件的关联编码。 – 2014-01-03 10:54:11