开发者社区> 问答> 正文

如何减少请求次数?

OSS请求次数是收费的。各位站长如果会一点编程的话,可以使用Combo Handler一类方法,减少文件请求次数。Combo Handler是Yahoo!开发的一个Apache模块,它实现了开发人员简单方便地通过URL来合并JavaScript和CSS文件,从而大大减少文件请求数。国内也有类似的实现,就是淘宝开源的Combo script工具。


先看看淘宝网首页meta里,多个js合并的声明语句:
<script src="h t t p://a.tbcdn.cn/??s/kissy/1.2.0/kissy-min.js,p/global/1.0/global-min.js,p/fp/2012/core.js,p/fp/2012/fp/module.js,p/fp/2012/fp/util.js,p/fp/2012/fp/directpromo.js?t=2012062320120712.js" data-fp-timestamp="20120703"></script>

js之间用英文逗号或&符号分隔。此src的Response是多个js文件的内容拼装。

淘宝的技术牛人李晶-拔赤在 h t t p s://github.com/jayli/combo 下发布了combo.php和minfy.php,能够做到合并文件(不压缩),以及合并且压缩。顺便说一下,阿里集团CDN服务是提供对Combo Handler的支持的(阿里云正规划开放我们的CDN服务供广大站长租用)。

文件列表:
- combo.php 合并文件,不压缩
- minify.php 合并压缩文件
- cssmin.php 压缩css
- jsmin.php 压缩js
- cb.php淘宝的CDN合并文件策略的模拟

脚本使用:
- 要求php5及以上版本
- 程序在找不到本地文件的情况下,会去指定的cdn上找同名文件
- 程序会自动转义
-min文件为源文件,因此要约定-min文件和原文件要成对出现
- 需要定义combo.php和minify.php中的$YOUR_CDN变量
- 如果只是合并压缩local文件,则不必重置$YOUR_CDN变量
- 这里提供cb.php,用来实现tbcdn的开发环境的模拟,apache的配置在cb.php中

展开
收起
wangleheng 2012-07-19 22:37:29 17891 0
3 条回答
写回答
取消 提交回答
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
    必须加!!!
    2012-07-20 09:56:39
    赞同 展开评论 打赏
  • Re如何减少请求次数?
    楼主还说掉了比较普遍的方法:设置expires头和cache-control头,可以让浏览器缓存住而不重复请求。
    P.S:签名使用了此方法。
    2012-07-20 03:29:35
    赞同 展开评论 打赏
  • 2012-07-20 00:17:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载