服务器端自动合并js文件,Windows下使用apache模块实现合并多个js、css提高网页加载速度...

现在的网站表现力越来越丰富,页面加载的js和css自然也越来越多。当网站页面上的js和css太多,浏览器打开页面的速度就会很慢,明显降低了用户的体验。使用mod_concatx, 可以合并多个文件在一个http响应报文中,可以有效提高js/css的加载速度。

示例效果如下:

e617f301a4d3d34516032427a38296e3.png

mod_concatx模块是在mod_concat基础上修改的,感谢他们的工作。

原有的mod_concat模块有很大的参考价值,但实际作用不大。

该模块存在以下三个问题:

1、每次都会重新向客户端发数据,没有合理利用浏览器缓存

2、存在安全漏洞,导致服务端程序被下载,比如"/??jquery.js,common.php"

3、合并每个文件时中间没间隔,导致内容粘连在一起,可能引起错误

所以我在mod_concat基础上写了mod_concatx模块,解决了前面提到的一些问题。

使用方法:

模块配置:

打开apache配置文件httpd.conf

LoadModule concatx_module modules/mod_concatx.dll

高级配置:(以下是默认配置,可以不配置)

ConcatxDisable Off

ConcatxCheckModified On

ConcatxSeparator On

ConcatxMaxSize 1024

ConcatxMaxCount 10

ConcatxFileType js,css

详细说明:

ConcatxDisable On/Off

//是否使用mod_concatx模块

ConcatxCheckModified On/Off

//检查文件是否改动,建议On

ConcatxSeparator On/Off

//合并文件时是否加换行分隔,建议On

ConcatxMaxSize 数字

//合并文件总大小限制最大值,建议不要太大

ConcatxMaxCount 数字

//合并文件总个数限制最大值,建议不要太大

ConcatxFileType js,css

//合并文件类型限制,如不限制填","

最后语:

建议自己编译这个模块,安全放心

后期改进方向:

todo:考虑加入js,css压缩

todo:考虑支持zend解析后的文件

bug:目录存在默认页加载异常(考虑上层hook处理)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值