Chinaunix首页 | 论坛 | 博客
  • 博客访问: 139789
  • 博文数量: 57
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 580
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-04 22:57
文章分类

全部博文(57)

文章存档

2011年(1)

2010年(1)

2009年(55)

我的朋友

分类: 系统运维

2009-05-11 16:25:36

使用Gzip组件

一个跨网络的HTTP请求和响应所花费的时间可以由前端工程师大大的一个决定大大减少。的确,最终用户的带宽速度、互联网服务提供商、用户和交换点的接近程度等开发人员是无法控制的。但还是有其他可变因素影响响应时间。即压缩技术减少HTTP响应的大小来减少响应时间。

从HTTP/1.1开始, Web客户端通过在HTTP请求头中标识Accept-Encoding属性,表明它支持与接受压缩的编码。
例如,Accept-Encoding: gzip, deflate

如果Web服务器在请求中看到认为头信息,它可能就可以客户端列出的方式使用压缩并给出响应。 Web服务器使用在响应头中使用Content-Encoding属性通知Web客户端内容编码情况。
例如,Content-Encoding: gzip

Gzip是目前最流行和有效的压缩方法。它是由GNU项目开发,由RFC1952标准规范描述 。你还可能看到的唯一的其他压缩格式是deflate,但它不太有效也不太流行。

Gzip一般能减少70%的响应大小 。当今大约90%的浏览器声称支持gzip。如果使用的Apache服务器配置gzip, Apache 1.3使用模块mod_gzip,Apache 2.x使用模块mod_deflate 。

目前已知这样的问题也有:浏览器和代理可能就压缩内容不匹配其期望。幸运的是,这些边缘案列随着旧版本的浏览器逐渐退市而减少。Apache模块自动增加适当的Vary响应头能帮助解决问题。

服 务器是基于文件类型来选择是否需要gzip压缩,但通常太有限了。大多数网站gzip他们的HTML文件。你的脚本和样式也值得gzip的,但许多网站错 过这一机会。事实上,任何文本都值得压缩输出,包括XML和JSON 。图像和PDF文件不应被gzip压缩的,因为他们已经压缩了。试图gzip他们不仅浪费CPU ,还有可能会增加文件大小。

尽可能地gzip更多类型的文件是一种简单的减轻页面大小,并加快网页的用户体验的方法。
阅读(372) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~