决定HTTP报头的字符集.我应该简单地输入utf-8,然后忽略它吗?

Deciding charset for HTTP Headers. Should i simply put utf-8 and fuggedaboutit?

本文关键字:然后 utf-8 输入 报头 HTTP 字符集 我应该 简单 决定      更新时间:2023-09-26

我正在使用Google page Speed http://pagespeed.googlelabs.com/#url=http_3A_2F_2Fqweop.com&mobile=false&rule=SpecifyCharsetEarly分析一个页面

,它说我们应该在HTTP头文件中指定一个显式的字符集。

所以基本上我的问题是什么决定了我应该使用什么字符集?

哪个字符集大小最小/最快 ?

使用ASCII而不是UTF-16可以节省什么?

我是否应该简单地输入utf-8和fugegeabout ?

您应该包含对页面进行编码的字符集。你要确保自己说的是实话。例如,有很多页在没有charset指定的情况下运行(因此被视为UTF-8或ISO-8859-1),它们实际上被编码为Windows-1252。只要你坚持使用它们共有的字符代码(当然是32-127和所有重要的控制字符,如换行符、制表符等),这是可以的。但是如果你以任何重音字母或特殊符号开头,你的页面就会突然在跨浏览器中看起来不正确。

Joel Spolsky的这篇关于字符集和Unicode的文章非常值得一读,如果你还没有读过的话。

在HTTP标头中设置编码不会对页面进行编码。只有告诉浏览器页面是如何编码的,以及它们应该如何处理它。因此,设置页面的编码方式。

如果您想决定使用哪种编码,我建议使用UTF-8。

可以用UTF-8编码显示所有语言的所有字母字符(以及更多)。没有任何理由使用不同的编码,除非您的页面需要由不支持UTF-8的设备显示(这样的设备可能不存在),或者您有一些非常特殊的要求。

使用不同编码对性能的影响和页面大小一样可以忽略不计。