Accept首部为客户端提供了一种将其喜好和能力告知服务器的方式,包括它们想要什么,可以使用什么,以及最重要的,它们不想要什么。服务器可以根据这些额外信息对发送的内容做出更明知的决定,不会浪费时间和带宽来发送客户端无法使用的东西。
code
:
当计算机传到世界各个国家时,为了适合当地语言和字符,设计和实现类似 GB232/GBK/GB18030的编码方案。这样各搞一套,在本地使用没有问题,一旦出现在网络中,由于不兼容,互相访问就出现了乱码现象。想像一下,假如有一种编码,包含世上所有的符号,每个符号都给一个独一无二的编码,那么就不会有乱码了。这就是Unicode。Unicode
只是一个符号集,它只规定了符号二进制代码,却没有规定这个二进制代码应该如何存储。当一个unicode字符需要2个字节存储时,是高位在前,还是低位在前呢?都可以。高位在前即high-endian方式,低位在前则是low-endian模式。Unicode规范中定义,每一个文件的最前面加上一个表示编码顺序的字符,用FEFF表示。当一个文件头两个字节是“FEFF”时,表示文件采用high-endian模式,如果是“FFFE”,则表示采用的是low-endian模式。看上去Unicode似乎很好了,但是,对于英文(不仅是英文,所有可以用
ASCII表示的字符) 来说,有人看着那么多的零不舒服了,太浪费内存了。这是无法接受的,于是造就了多种Unicode的实现方式的出现,Unicode在很长一段时间无法推广。
web缓存是可以自动保存常见文档副本的HTTP设备。当web请求抵达缓存时,如果本地有“已缓存的”副本,就可以从本地存储设备而不是原始服务器提取该文档。使用缓存的优点有: