我們在網站制作的過程中通常會利用 IIS 來對靜態文件進行 gzip 壓縮以達到提高網站制作后期的訪問速度,提升客戶體驗度;以及有效減少蜘蛛爬行靜態頁面的 time-taken ,解決動態文件壓縮中的200 0 64的抓取問題,增加抓取收錄頁面數量,加速和提升網站制作后期關鍵字排名效果的目的。
但不同版本的 IIS 對網站制作過程中的靜態文件 gzip 壓縮方式卻有著不同的理論區別與實踐區別。
其中,在網站制作過程中作用 IIS6 進行靜態文件 gzip 壓縮處理時,靜態文件 gzip 壓縮是在一個不同的線程上進行的,系統在收到一個 HTTP 請求后,首先會給瀏覽器發送一個未經過壓縮處理的 HTML 版本,與此同時它還會開始使用另外一個不同的線程對此 HTTP 請求進行壓縮處理并將其長期保存于壓縮文件緩存文件夾中,以便在今后的請求中可以直接調用壓縮后的版本并返回給瀏覽器。
與 IIS6 不同,IIS7 的網站制作靜態文件 gzip 壓縮處理主要是在主線程上進行,并且 IIS7 并不會對所有的 HTTP 請求都進行靜態壓縮處理,而只會對一些經常會被用戶訪問的靜態文件進行壓縮處理與版本保存,與 IIS6 不同,IIS7 的壓縮版本只是暫時保存于服務器當中或者緩存文件夾當中,在短時間內會刪除以節省網站制作過程中的壓縮成本。
在網站制作后期的訪問過程中 IIS7 會根據 system.webServer/serverRuntime 中的 frequentHitThreshold 和 frequentHitTimePeriod 這兩個屬性來判斷網站制作文件是否會被經常訪問,是否具有被壓縮處理的必要即如果 IIS 在 frequentHitTimePeriod 時間段內接收到的某個靜態文件的訪問總次數超過了 frequentHitThreshold 閘值次數時 IIS7會對此文件進行壓縮處理并長期保存緩存以方便客戶的訪問。