Windows下使用apache模塊實現(xiàn)合并多個js、css提高網(wǎng)頁加載速度
現(xiàn)在的網(wǎng)站表現(xiàn)力越來越豐富,頁面加載的js和css自然也越來越多。當(dāng)網(wǎng)站頁面上的js和css太多,瀏覽器打開頁面的速度就會很慢,明顯降低了用戶的體驗。使用mod_concatx, 可以合并多個文件在一個http響應(yīng)報文中,可以有效提高js/css的加載速度。
示例效果如下:
mod_concatx模塊是在mod_concat基礎(chǔ)上修改的,感謝他們的工作。
原有的mod_concat模塊有很大的參考價值,但實際作用不大。
該模塊存在以下三個問題:
1、每次都會重新向客戶端發(fā)數(shù)據(jù),沒有合理利用瀏覽器緩存
2、存在安全漏洞,導(dǎo)致服務(wù)端程序被下載,比如"/??jquery.js,common.php"
3、合并每個文件時中間沒間隔,導(dǎo)致內(nèi)容粘連在一起,可能引起錯誤
所以我在mod_concat基礎(chǔ)上寫了mod_concatx模塊,解決了前面提到的一些問題。
下載地址: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>
模塊配置:
打開apache配置文件httpd.conf
LoadModule concatx_module modules/mod_concatx.dll
高級配置:(以下是默認(rèn)配置,可以不配置)
<IfModule concatx_module>
ConcatxDisable Off
ConcatxCheckModified On
ConcatxSeparator On
ConcatxMaxSize 1024
ConcatxMaxCount 10
ConcatxFileType js,css
</IfModule>
詳細(xì)說明:
ConcatxDisable On/Off
//是否使用mod_concatx模塊
ConcatxCheckModified On/Off
//檢查文件是否改動,建議On
ConcatxSeparator On/Off
//合并文件時是否加換行分隔,建議On
ConcatxMaxSize 數(shù)字
//合并文件總大小限制最大值,建議不要太大
ConcatxMaxCount 數(shù)字
//合并文件總個數(shù)限制最大值,建議不要太大
ConcatxFileType js,css
//合并文件類型限制,如不限制填","
最后語:
建議自己編譯這個模塊,安全放心
后期改進方向:
todo:考慮加入js,css壓縮
todo:考慮支持zend解析后的文件
bug:目錄存在默認(rèn)頁加載異常(考慮上層hook處理)
如果加載模塊后apahce無法啟動,請安裝vc10運行庫,下載地址
http://www.microsoft.com/en-us/download/details.aspx?id=5555
相關(guān)文章
安裝IIS時如果老提示無法復(fù)制convlog.exe、iisadmin.mfl等文件
IIS出了點問題,就重新安裝。于是在安裝IIS時如果老提示無法復(fù)制convlog.exe、iisadmin.mfl等文件。2011-01-01windows服務(wù)器Url重寫竟然會引起IIS內(nèi)核模式緩存不工作
URL重寫竟然能影響到處于內(nèi)核模式的http.sys,誰能想到?微軟想到了,而且做到了2023-10-10遠(yuǎn)程桌面一連就斷的解決方法(經(jīng)常掉線)
遠(yuǎn)程桌面一連就斷..到網(wǎng)上轉(zhuǎn)了一大個圈回來終于找到解決方法.2011-11-11為應(yīng)用程序池 ''DefaultAppPool'' 提供服務(wù)的進程關(guān)閉時間超過了限制
為應(yīng)用程序池 'DefaultAppPool' 提供服務(wù)的進程關(guān)閉時間超過了限制服務(wù)器經(jīng)常產(chǎn)生“應(yīng)用程序池 'DefaultAppPool' 提供服務(wù)的進程關(guān)閉時間超過了限制。進程 ID 是 '2068'?!钡腻e誤,導(dǎo)致iis處于假死狀態(tài),經(jīng)了解是IIS應(yīng)用程序池的設(shè)置問題2011-11-11Windows IIS服務(wù)器本地安裝的圖文教程(超詳細(xì))
這篇文章主要為大家詳細(xì)介紹了Windows IIS服務(wù)器本地安裝的相關(guān)教程,文中通過示例圖片為大家進行了全方面講解,有需要的小伙伴可以參考一下2023-09-09輕松架設(shè)Windows 2003用戶隔離FTP站點的注意事項
輕松架設(shè)Windows 2003用戶隔離FTP站點的注意事項...2007-10-10