格式
1 | Accept-Encoding = "Accept-Encoding" ":" 1#( codings [ ";" "q" "=" qvalue ] ) codings = ( content-coding | "*" ) |
1 | Accept-Encoding: compress, gzip Accept-Encoding: Accept-Encoding: * Accept-Encoding: compress;q=0.5, gzip;q=1.0 Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 |
规则
- 如果设置了一个编码方案,那么表明该方案是客户端可以接受的,除非设置了;q=0
- 特殊的*标记表示客户端可以接受所有的编码方案
- 如果设置了多个编码方案,那么q值最高的方案成为首选方案
- 纵使没有设置indentify类型,indentify类型依然会被认为是客接受的,除非设置了indentify;q=0或者\;q=0*。如果没有设置Accept-Encoding,那么默认为indentify。
选项
indentity
总是可以被接受的encoding类型,Accept-Encoding默认选项。
compress
compress是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个 .Z 延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于 gzip 可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。
deflate
deflate是最基础的算法,gzip在deflate的raw data前增加了10个字节的gzheader,尾部添加了8个字节的校验字节(可选crc32 和adler32)和长度标识字节。deflate是一种压缩算法,是huffman编码的一种加强。gzip是一种数据格式,默认且目前仅使用deflate算法压缩data部分。
gzip
GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的.