HTTP压缩(compression)
2022-07-21 本文已影响0人
fanren
前言
想通过微信发送一个文件给朋友,但是文件太大怎么办?当然是压缩了,文件经过压缩,大小变小了,既省流量速度还快;
浏览器调用接口,获取一个文件的时候,也想要既省流量速度又快,怎么办?当然也是压缩了,把文件经过压缩,然后传给浏览器;
这就是HTTP压缩
一、HTTP压缩
HTTP压缩是指在服务器和浏览器间传输压缩文本内容的方法。
HTTP压缩通常采用[gzip]压缩算法压缩HTML、JavaScript、CSS等文件。
压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点服务器的负担
二、HTTP压缩原理
- 接收到浏览器的HTP请求后,检查浏览器是否支持HTP压缩;
在用户浏览器发送请求的HTTP头中,带有" Accept-Encoding:gzip,deflate"参数则表明支持gzip和 deflate两种压缩算法。
- 如果浏览器支持HTTP压缩,Wb服务器检查请求文件的后缀名;
静态文件和动态文件后缀启动压缩都需要在Metabase,xml中设置;
静态文件需要设置:HcFileExtensions Metabase Property;
动态文件需要设置:HcScriptFileExtensions Metabase Property。
- 如果请求文件是HTML、CSS等静态文件并且文件后缀启用了压缩,则服务器到压缩缓冲目录中检查,是否已经存在请求文件的最新压缩文件;
- 如果请求文件的压缩文件不存在,服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
- 如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
- 如果请求文件是[ASPX]、[ASP]等动态文件并且文件后缀启用了压缩,服务器动态压缩内容井返回浏览器,压缩内容不存到压缩缓存目录中。