gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也常常用来表示gzip这种文件格式。软件的做者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公开发布,版本号是0.1,目前的稳定版本是1.2.4。web
Gzip主要用于Unix系统的文件压缩。咱们在Linux中常常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用很是广泛的一种数据压缩格式,或者说一种文件格式。 当应用Gzip压缩到一个纯文本文件时,效果是很是明显的,通过GZIP压缩后页面大小能够变为原来的40%甚至更小,这取决于文件中的内容。算法
HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。web开发中能够经过gzip压缩页面来下降网站的流量,而gzip并不会对cpu形成大量的占用,略微上升,也是几个百分点而已,可是对于页面却能压缩30%以上,很是划算。浏览器
利用Apache中的Gzip模块,咱们可使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。这样通过压缩后实际上下降了网络传输的字节数(节约传输的网络I/o),最明显的好处就是能够加快网页加载的速度。缓存
网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏览体验外,另外一个潜在的好处是Gzip与搜索引擎的抓取工具备着更好的关系。例如 Google就能够经过直接读取gzip文件来比普通手工抓取更快地检索网页。在Google网站管理员工具(Google Webmaster Tools)中你能够看到,sitemap.xml.gz 是直接做为Sitemap被提交的。服务器
而这些好处并不单单限于静态内容,PHP动态页面和其余动态生成的内容都可以经过使用Apache压缩模块压缩,加上其余的性能调整机制和相应的服务器端缓存规则,这能够大大提升网站的性能。所以,对于部署在Linux服务器上的PHP程序,在服务器支持的状况下,咱们建议你开启使用Gzip Web压缩。网络
2、Web服务器处理HTTP压缩的过程以下:工具
1. Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩(Accept-Encoding 信息);性能
2. 若是浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;网站
3. 若是请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;搜索引擎
4. 若是请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
5. 若是请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
6. 若是请求文件是动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。