2023-05-17 分類: 網站建設
開啟靜態文件的gzip壓縮非常有利用提高網站的訪問速度,并且有效減少蜘蛛爬行靜態頁面的time-taken,同時也不會像開啟動態文件壓縮一樣可能會對百度蜘蛛造成200 0 64的抓取問題,所以一方面,網站速度快有利于提高用戶體驗,另一方面,google管理員博客在今年已經明確表示網站速度是排名的因素之一,而對于拿國外主機做百度中文站優化,time-taken不理想會導致百度蜘蛛內頁抓的少,國平之前在自己博客文章網頁加載速度是如何影響SEO效果的中也提到過,在固定的一段時間內蜘蛛抓取網站的總時間是固定的,那么抓取速度上去了,抓取頁面數就會更多,反之則少。
gzip靜態頁面的壓縮版本在服務器上保存方式,發現導致兩個主機返回gzip結果不同的終原因是iis版本而不是緩存文件夾設置過小。
事實上,iis7比iis6在靜態壓縮上有了較大的更新,在IIS6中,靜態壓縮是在一個不同的線程上進行的,所以在收到一個HTTP請求后,先進個發送給瀏覽器的HTML版本是沒有壓縮過的,而同時IIS6會開始使用一個不同的線程對這個文件進行壓縮并且將這個壓縮后的版本長期保存在壓縮文件的緩存文件夾內。而在以前,也就是IIS6服務器上,在壓縮完成之后凡是對該被壓縮版本的靜態文件的HTTP請求,IIS6都會直接從緩存文件夾中直接調用壓縮后的版本并返回給瀏覽器。
但是在IIS7中,壓縮是在主線程上進行的,而且為了節省壓縮的成本,IIS7不對所有的HTTP請求而只對哪些經常會被用戶訪問的靜態文件進行壓縮版本的長期保存,這也就是為什么我在之前先進次訪問沒有壓縮,短期內再次訪問返回的是壓縮版本,但是再過幾分鐘訪問返回的又是未壓縮版本的原因。這里我們可以理解為IIS7并沒有將壓縮版本實際保存到緩存文件夾中,而是只在服務器內存中做了保存,或者是臨時將壓縮版本保存到緩存文件夾中,一會之后進行刪除。
而IIS7定義什么文件是經常訪問的符合壓縮標準的方法是system.webServer/serverRuntime中的以下兩個屬性,frequentHitThreshold和frequentHitTimePeriod 。如果IIS在frequentHitTimePeriod時間段內接收到了對某個靜態文件的超過frequentHitThreshold閘值次數的訪問,那么IIS7就會像IIS6一樣壓縮該靜態文件并且將這個壓縮后的版本長期保存在壓縮文件的緩存文件夾內。如果用戶訪問網站某文件時,已經在緩存文件夾中存在該文件的緩存版本,那么IIS7是不會再判斷frequentHitThreshhold這個邏輯而是直接返回壓縮版本給瀏覽器。
這種設置的確有點麻煩,但是微軟官方給出的答復是這樣有利用提高服務器性能。那么如果想要讓IIS7能夠向IIS6一樣做壓縮的話,有兩種解決方法,當然都是修改frequentHitThreshold和frequentHitTimePeriod這兩個值:
先進種是在web.config中添加以下內容,將frequentHitThreshold調至1,將frequentHitTimePeriod調制10分鐘
<system.webServer>
<serverRuntime enabled="true"
frequentHitThreshold="1"
frequentHitTimePeriod="00:10:00"/>
</system.webServer>
第二種方法是打開%windir%system32inetsrvappcmd.exe,然后再命令行界面中輸入以下命令字符串,然后回車
set config -section:system.webServer/serverRuntime -frequentHitThreshold:1
微軟官方建議比較不激進的辦法是不要調低frequentHitThreshold而是提高frequentHitTimePeriod,這樣對服務器性能更適中。這里要提到的是,對于擁有VPS的朋友們,建議可以手動設置,而虛擬主機用戶能不能設置就得看服務商了。
當前題目:關于IIS6和IIS7對靜態文件gzip壓縮方式的異同
URL地址:http://m.newbst.com/news39/259739.html
成都網站建設公司_創新互聯,為您提供App開發、企業建站、網站設計公司、標簽優化、自適應網站、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容