【前端优化】web性能优化之GZIP压缩
2012-07-31 15:16 sniper007 阅读(1712) 评论(0) 编辑 收藏 举报以前做网站维护的时候有接触过GZIP压缩,这里具体谈谈GZIP压缩原理及使用GZIP优化网站性能。
GZIP,即网页压缩,是由WEB服务器和浏览器之间共同遵守的协议,也就是说WEB服务器和浏览器都必须支持该技术,而现在主流的浏览器都是支 持的,包括IE、FireFox、谷歌浏览器、Opera 等。常见的WEB服务器有Apache 和IIS 等。双方的协商过程如下:
1、首先浏览器请求某个URL 地址,并在请求的头 (head) 中设置属性accept-encoding值为gzip、deflate,表明浏览器支持gzip和deflate这两种压缩方式(事实上deflate 也是使用gzip压缩协议,下面我们会介绍二者之间的区别);
2、WEB服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容;
3、浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。
GZIP压缩的比率往往在3到10倍,也就是本来90k大小的页面,采用压缩后实际传输的内容大小只有28至30K大小,这可以大大节省服务器的 网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。
在实际应用中,并不需要对网站所有文件都进行压缩,只需要对静态文件进行压缩就可以了,包括js、css及html文件。对其他文件进行压缩并不 会对WEB性能有太多的改观,并且对网站开启GZIP功能是需要牺牲部分服务器性能的。对于FLASH文件来说开启GZIP压缩之后还会影响其效果。检查 网页是否进行GZIP压缩过,可以使用FireFox的YSlow插件来差看,如下图:
也可以通过下面的网站在线查看,http://gzip.zzbaike.com/,如下图:
GZIP,即网页压缩,是由WEB服务器和浏览器之间共同遵守的协议,也就是说WEB服务器和浏览器都必须支持该技术,而现在主流的浏览器都是支 持的,包括IE、FireFox、谷歌浏览器、Opera 等。常见的WEB服务器有Apache 和IIS 等。双方的协商过程如下:
1、首先浏览器请求某个URL 地址,并在请求的头 (head) 中设置属性accept-encoding值为gzip、deflate,表明浏览器支持gzip和deflate这两种压缩方式(事实上deflate 也是使用gzip压缩协议,下面我们会介绍二者之间的区别);
2、WEB服务器接收到请求后判断浏览器是否支持压缩,如果支持就传送压缩后的响应内容,否则传送不经过压缩的内容;
3、浏览器获取响应内容后,判断内容是否被压缩,如果是则解压缩,然后显示响应页面的内容。
GZIP压缩的比率往往在3到10倍,也就是本来90k大小的页面,采用压缩后实际传输的内容大小只有28至30K大小,这可以大大节省服务器的 网络带宽,同时如果应用程序的响应足够快时,网站的速度瓶颈就转到了网络的传输速度上,因此内容压缩后就可以大大的提升页面的浏览速度。
在实际应用中,并不需要对网站所有文件都进行压缩,只需要对静态文件进行压缩就可以了,包括js、css及html文件。对其他文件进行压缩并不 会对WEB性能有太多的改观,并且对网站开启GZIP功能是需要牺牲部分服务器性能的。对于FLASH文件来说开启GZIP压缩之后还会影响其效果。检查 网页是否进行GZIP压缩过,可以使用FireFox的YSlow插件来差看,如下图:
也可以通过下面的网站在线查看,http://gzip.zzbaike.com/,如下图: