1. 浏览器发送Http request 给Web服务器, request 中有Accept-Encoding: gzip, deflate。(告诉服务器浏览器支持gzip压缩)
2. Web服务器接到request后, 生成原始的Response, 其中有原始的Content-Type(定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件)和Content-Length。
3. Web服务器通过Gzip,来对Response 进行编码,编码后header中有Content-Type和Content-Length(压缩后的大小),并且增加了Content-Encoding:gzip. 然后把Response发送给浏览器。
4. 浏览器接到Response后,根据Content-Encoding:gzip来对Response 进行解码。获取到原始response后,再显示出网页。
如下图所示:
HTTP压缩对纯文本(text,js或css等)可以压缩至原内容的40%, 但对已经压缩过的图片没有什么效果。