HTTP壓縮
HTTP壓縮是在Web服務器和瀏覽器間傳輸壓縮文本內容的方法。HTTP壓縮採用通用的壓縮算法如GZIP等壓縮HTML、JavaScript或CSS文件。壓縮的最大好處就是降低了網絡傳輸的數據量,從而提高客戶端瀏覽器的訪問速度。當然,同時也會增加一點點服務器的負擔。GZIP是比較常見的一種HTTP壓縮算法。
壓縮測試
在部署的IIS 6.0上配置了GZIP壓縮,詳細的測試結果如下。
未開啓GZIP壓縮前,訪問網站首頁進行抓包分析。
開啓GZIP後,清空本地IE緩存,再次訪問抓包分析。
開啓前後,頁面大小減小了89213bytes,壓縮掉原始大小的87%。
當對CSS、JS等文件都開啓GZIP壓縮後,原21100bytes的文件,壓縮後如圖所示,壓縮比爲80%。
在http://www.port80software.com/tools/compresscheck.asp上測試結果如下。
部署方法
1. 打開Internet信息服務(IIS)管理器,右擊“網站”-》“屬性”,選擇“服務”。在“HTTP壓縮”框中選中“壓縮應用程序文件”和“壓縮靜態文件”,按需要設置“臨時目錄”和“臨時目錄的最大限制”;
2. 在Internet信息服務(IIS)管理器,右擊“Web服務擴展”-》“增加一個新的Web服務擴展。。.”,在“新建Web服務擴展”框中輸入擴展名“HTTP Compression”,添加“要求的文件”爲C:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系統目錄根據您的安裝可能有所不同,選中“設置擴展狀態爲允許”;
3. 使用文本編輯器打開C:\Windows\System32\inetsrv\MetaBase.xml(建議先備份),
找到Location =“/LM/W3SVC/Filters/Compression/gzip用於設置gzip壓縮,
找到Location =”/LM/W3SVC/Filters/Compression/deflate“用於設置deflate壓縮。 上面兩個節點緊挨着。並且設置的屬性相同。
如果需要壓縮動態文件,則將HcDoDynamicCompression設置爲”TRUE“,
並在HcScriptFileExtensions中增加您要壓縮的動態文件後綴名,如aspx;
如果需要壓縮靜態文件,則將HcDoStaticCompression和HcDoOnDemandCompression設置爲”TRUE“,
並在HcFileExtensions中增加您需要壓縮的靜態文件後綴名,如xml、css等;
HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的壓縮率,數值在0-10, 默認爲0。
HcDynamicCompressionLevel屬性說明:HcDynamicCompressionLevel Metabase Property
HcOnDemandCompLevel 屬性說明:HcOnDemandCompLevel Metabase Property
說明: 這兩個屬性值一般推薦設置爲9, 具有最佳性價比。
注意
1. 在編輯MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
2. 修改完成後開啓iisadmin服務,並執行iisreset命令
關於SEO的測試
壓縮是否對SEO有影響,經測試,開啓後仍然可以被很好的收錄。
關於對SEO影響的研究文章,還可以參考下面的幾篇文章。
具體的效率問題,將繼續監控以作研究。
文章鏈接:
1. 實時進行GZIP壓縮優化Asp.Net頁面的CompressionModule對Asp.Net Ajax及搜索引擎的兼容性測試!。
http://www.cnblogs.com/aspxcn/archive/2009/02/03/1037924.html
2. Matt Cutts: Gadgets, Google, and SEO
http://www.mattcutts.com/blog/crawl-caching-proxy/