压缩是节省带宽并加快站点速度的一种简单有效的方法。

当您请求http://www.yahoo.com/index.html之类的文件时,浏览器将与Web服务器对话。对话有点像这样:

HTTP_request

如果我们可以向浏览器(index.html.zip)发送.zip文件(而不是普通的index.html),则可以节省带宽和下载时间。浏览器可以下载压缩文件,将其解压缩,页面加载速度很快。浏览器与服务器的对话可能如下所示:

HTTP_request_gzip

这种交换的棘手部分是浏览器和服务器知道可以发送压缩文件了。协议分为两部分

浏览器发送一个标头,告诉服务器它接受压缩的内容(gzip和deflate是两种压缩方案)

Accept-Encoding: gzip, deflate

如果实际压缩了内容,服务器将发送响应:

Content-Encoding: gzip

如果服务器未发送内容编码响应标头,则表示文件未压缩(许多服务器上的默认设置)。

Accept-encoding”标头仅仅是浏览器的请求,而不是需求。如果服务器不想发送回压缩的内容,则浏览器必须处理繁重的常规版本。

nginx gzip 配置

How To Optimize Your Site With GZIP Compression