Windows下使用apache模塊實(shí)現(xiàn)合并多個(gè)js、css提高網(wǎng)頁(yè)加載速度
現(xiàn)在的網(wǎng)站表現(xiàn)力越來(lái)越豐富,頁(yè)面加載的js和css自然也越來(lái)越多。當(dāng)網(wǎng)站頁(yè)面上的js和css太多,瀏覽器打開(kāi)頁(yè)面的速度就會(huì)很慢,明顯降低了用戶的體驗(yàn)。使用mod_concatx, 可以合并多個(gè)文件在一個(gè)http響應(yīng)報(bào)文中,可以有效提高js/css的加載速度。
示例效果如下:
mod_concatx模塊是在mod_concat基礎(chǔ)上修改的,感謝他們的工作。
原有的mod_concat模塊有很大的參考價(jià)值,但實(shí)際作用不大。
該模塊存在以下三個(gè)問(wèn)題:
1、每次都會(huì)重新向客戶端發(fā)數(shù)據(jù),沒(méi)有合理利用瀏覽器緩存
2、存在安全漏洞,導(dǎo)致服務(wù)端程序被下載,比如"/??jquery.js,common.php"
3、合并每個(gè)文件時(shí)中間沒(méi)間隔,導(dǎo)致內(nèi)容粘連在一起,可能引起錯(cuò)誤
所以我在mod_concat基礎(chǔ)上寫(xiě)了mod_concatx模塊,解決了前面提到的一些問(wèn)題。
下載地址:http://xiazai.jb51.net/201501/other/mod_concatx-140709.rar(內(nèi)附源碼,dll,更新了Apache2.2/2.4 64位版)
Google托管地址:http://code.google.com/p/apmod/
使用方法:
<link href="/style/??css1.css,css2.css,css3.css" type="text/css" rel="stylesheet"/>
<script src="/js/??js1.js,js2.js,js3.js,js4.js" type="text/javascript"></script>
模塊配置:
打開(kāi)apache配置文件httpd.conf
LoadModule concatx_module modules/mod_concatx.dll
高級(jí)配置:(以下是默認(rèn)配置,可以不配置)
<IfModule concatx_module>
ConcatxDisable Off
ConcatxCheckModified On
ConcatxSeparator On
ConcatxMaxSize 1024
ConcatxMaxCount 10
ConcatxFileType js,css
</IfModule>
詳細(xì)說(shuō)明:
ConcatxDisable On/Off
//是否使用mod_concatx模塊
ConcatxCheckModified On/Off
//檢查文件是否改動(dòng),建議On
ConcatxSeparator On/Off
//合并文件時(shí)是否加換行分隔,建議On
ConcatxMaxSize 數(shù)字
//合并文件總大小限制最大值,建議不要太大
ConcatxMaxCount 數(shù)字
//合并文件總個(gè)數(shù)限制最大值,建議不要太大
ConcatxFileType js,css
//合并文件類(lèi)型限制,如不限制填","
最后語(yǔ):
建議自己編譯這個(gè)模塊,安全放心
后期改進(jìn)方向:
todo:考慮加入js,css壓縮
todo:考慮支持zend解析后的文件
bug:目錄存在默認(rèn)頁(yè)加載異常(考慮上層hook處理)
如果加載模塊后apahce無(wú)法啟動(dòng),請(qǐng)安裝vc10運(yùn)行庫(kù),下載地址
http://www.microsoft.com/en-us/download/details.aspx?id=5555
- javascript實(shí)現(xiàn)一個(gè)網(wǎng)頁(yè)加載進(jìn)度loading
- JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)加載進(jìn)度條代碼超簡(jiǎn)單
- jquery插件NProgress.js制作網(wǎng)頁(yè)加載進(jìn)度條
- JavaScript實(shí)現(xiàn)當(dāng)網(wǎng)頁(yè)加載完成后執(zhí)行指定函數(shù)的方法
- js 延遲加載 改變JS的位置加快網(wǎng)頁(yè)加載速度
- javascript 改變網(wǎng)頁(yè)加載的CSS
- JS+CSS實(shí)現(xiàn)網(wǎng)頁(yè)加載中的動(dòng)畫(huà)效果
相關(guān)文章
安裝IIS時(shí)如果老提示無(wú)法復(fù)制convlog.exe、iisadmin.mfl等文件
IIS出了點(diǎn)問(wèn)題,就重新安裝。于是在安裝IIS時(shí)如果老提示無(wú)法復(fù)制convlog.exe、iisadmin.mfl等文件。2011-01-01windows服務(wù)器Url重寫(xiě)竟然會(huì)引起IIS內(nèi)核模式緩存不工作
URL重寫(xiě)竟然能影響到處于內(nèi)核模式的http.sys,誰(shuí)能想到?微軟想到了,而且做到了2023-10-10sqlserver 普通用戶運(yùn)行錯(cuò)誤解決方法補(bǔ)充
本方法作為Windows2003服務(wù)器安裝及設(shè)置教程——MSSQL安全篇一(將MS SQL SERVER運(yùn)行于普通用戶下)的補(bǔ)充,成功解決了不能將sqlserver運(yùn)行在普通用戶的權(quán)限下的問(wèn)題。2010-05-05IIS啟用GZIP壓縮js、css無(wú)效的原因及解決方法
IIS啟用GZIP壓縮之后,原以為可以壓縮所有文件了,包括html、CSS、JS、圖片這些文件,但是當(dāng)我檢查的時(shí)候,發(fā)現(xiàn)并不是這樣的,壓縮的只有html文件,而CSS、JS并沒(méi)有壓縮2013-11-11遠(yuǎn)程桌面一連就斷的解決方法(經(jīng)常掉線)
遠(yuǎn)程桌面一連就斷..到網(wǎng)上轉(zhuǎn)了一大個(gè)圈回來(lái)終于找到解決方法.2011-11-11為應(yīng)用程序池 ''DefaultAppPool'' 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制
為應(yīng)用程序池 'DefaultAppPool' 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制服務(wù)器經(jīng)常產(chǎn)生“應(yīng)用程序池 'DefaultAppPool' 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制。進(jìn)程 ID 是 '2068'?!钡腻e(cuò)誤,導(dǎo)致iis處于假死狀態(tài),經(jīng)了解是IIS應(yīng)用程序池的設(shè)置問(wèn)題2011-11-11Windows IIS服務(wù)器本地安裝的圖文教程(超詳細(xì))
這篇文章主要為大家詳細(xì)介紹了Windows IIS服務(wù)器本地安裝的相關(guān)教程,文中通過(guò)示例圖片為大家進(jìn)行了全方面講解,有需要的小伙伴可以參考一下2023-09-09輕松架設(shè)Windows 2003用戶隔離FTP站點(diǎn)的注意事項(xiàng)
輕松架設(shè)Windows 2003用戶隔離FTP站點(diǎn)的注意事項(xiàng)...2007-10-10