http协议如何支持压缩文件的传输
1、浏览器请求数据时,通过Accept-Encoding说明自己可以接受的压缩方法
2、服务端接收到请求后,选取Accept-Encoding中的一种对响应数据进行压缩
3、服务端返回响应数据时,在Content-Encoding字段中说明数据的压缩方式
4、浏览器接收到响应数据后根据Content-Encoding对结果进行解压
注:如果服务器没有对响应数据进行压缩,则不返回Content-Encoding,浏览器也不进行解压
压缩说明
服务器响应请求时压缩(nginx)
nginx中有关gzip的配置项如下:
1、gzip_static on|off:默认off
nginx对于静态文件的处理模块
该模块可以读取预先压缩的gz文件,这样可以减少每次请求进行gzip压缩的CPU资源消耗。该模块启用后,nginx首先检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容。为了要兼容不支持gzip的浏览器,启用gzip_static模块就必须同时保留原始静态文件和gz文件。这样的话,在有大量静态文件的情况下,将会大大增加磁盘空间。我们可以利用nginx的反向代理功能实现只保留gz文件。
2、gzip on|off:默认off
开启或者关闭gzip模块
3、gzip_comp_level 4:默认1,建议选择为4
gzip压缩比/压缩级别,压缩级别 1-9,级别越高压缩率越大,压缩时间越长,消耗CPU也越大。
4、gzip_min_length 1k:默认0,不管页面多大都压缩
设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。
建议设置成大于1k的字节数,小于1k可能会越压越大。 即: gzip_min_length 1024
5、更多配置信息参考:Nginx的gzip