但不同版本的 IIS 對網(wǎng)站制作過程中的靜態(tài)文件 gzip 壓縮方式卻有著不同的理論區(qū)別與實(shí)踐區(qū)別。
其中,在網(wǎng)站制作過程中作用 IIS6 進(jìn)行靜態(tài)文件 gzip 壓縮處理時(shí),靜態(tài)文件 gzip 壓縮是在一個(gè)不同的線程上進(jìn)行的,系統(tǒng)在收到一個(gè) HTTP 請求后,首先會給瀏覽器發(fā)送一個(gè)未經(jīng)過壓縮處理的 HTML 版本,與此同時(shí)它還會開始使用另外一個(gè)不同的線程對此 HTTP 請求進(jìn)行壓縮處理并將其長期保存于壓縮文件緩存文件夾中,以便在今后的請求中可以直接調(diào)用壓縮后的版本并返回給瀏覽器。
與 IIS6 不同,IIS7 的網(wǎng)站制作靜態(tài)文件 gzip 壓縮處理主要是在主線程上進(jìn)行,并且 IIS7 并不會對所有的 HTTP 請求都進(jìn)行靜態(tài)壓縮處理,而只會對一些經(jīng)常會被用戶訪問的靜態(tài)文件進(jìn)行壓縮處理與版本保存,與 IIS6 不同,IIS7 的壓縮版本只是暫時(shí)保存于服務(wù)器當(dāng)中或者緩存文件夾當(dāng)中,在短時(shí)間內(nèi)會刪除以節(jié)省網(wǎng)站制作過程中的壓縮成本。
在網(wǎng)站制作后期的訪問過程中 IIS7 會根據(jù) system.webServer/serverRuntime 中的 frequentHitThreshold 和 frequentHitTimePeriod 這兩個(gè)屬性來判斷網(wǎng)站制作文件是否會被經(jīng)常訪問,是否具有被壓縮處理的必要即如果 IIS 在 frequentHitTimePeriod 時(shí)間段內(nèi)接收到的某個(gè)靜態(tài)文件的訪問總次數(shù)超過了 frequentHitThreshold 閘值次數(shù)時(shí) IIS7會對此文件進(jìn)行壓縮處理并長期保存緩存以方便客戶的訪問。