記憶盒子

把記憶裝進灰色的盒子,封裝起來,那年那月,重新拾起。

首頁搜索目錄
search
當前主題: 互聯網絡

服務器性能優化策略之啟用網頁緩存

作者:Kaka    時間:2012-8-15 0:13:36    瀏覽:    評論:18

      我站的速度一直以來都是比較引以自豪的,據alexa統計,我站平均打開時間是0.274秒,全球有98%的網站速度比我站慢。

      Average Load Time for Webkaka.com

      Very Fast (0.274 Seconds), 98% of sites are slower.

       這雖然更多歸功于較好的服務器性能以及比較充足的帶寬,但在網站服務器優化方面也是功不可沒的。

      今天要說的是服務器性能優化策略之啟用網頁緩存。

      網頁緩存包含客戶端瀏覽器緩存和服務器緩存,這里說的是服務器端網頁的緩存,這是服務器性能優化的策略之一。由于本站使用的是IIS服務器,因此Apache、lighttpd等不在本文內容談及之內。

      為什么要啟用服務器緩存?

      有人作了形象的說明,緩存就像是一個大箱子,以頁面緩存為例,在第一位客戶訪問具有緩存機制的頁面時,iis會將該頁面地址及內容記錄下來放入大箱子中,后續的客戶在訪問該頁面時,iis直接根據該地址調出頁面內容展現在客戶端。這樣減好了訪問服務器的操作,提高了效率。

      動態內容頁面也能緩存

      我以前一直以為,只有靜態的內容頁面可以緩存,后來經過實驗,動態內容頁面也可以緩存的。比如webkaka的網站速度診斷首頁,有個最近測試列表,那10個網址是實時從測試列表里讀出來的,但是因采用了1小時的網頁緩存,也就是說,這個頁面的內容,只是每小時變化一次,而不是時時刻刻都去讀數據的。

      動態頁面也緩存,這樣將大大減少對服務器的讀寫操作,對服務器起了保護的作用,同時,必將大大減少服務器內存和CPU的使用率,從而提高服務器的性能。

      IIS設置網頁內容過期時間

      在Google網站速度優化建議里,有一條是“使用瀏覽器緩存”技術,這個其實不是什么高深的技術,我們在IIS里便可輕松設置。

      如下圖

 

      1. 在 IIS 管理器中,單擊“HTTP 頭”選項卡。
      2. 選中“啟用內容過期”復選框。
      3. 單擊“立即過期”、“此時間段后過期”或“過期時間”,然后在對應的框中輸入所需的過期信息。
      4. 單擊“確定”。

      如何檢測你的網站是否啟用了緩存?

      你可以到卡卡網的網站速度診斷平臺,診斷你的網站,然后點擊“性能優化”標簽,再點擊“使用瀏覽器緩存”項,便可知道了。

      相關知識

      我們在看網頁的header信息時,經常看到這幾個參數:Expires、Cache-Control、Last-Modified、ETag,它們是RFC 2616(HTTP/1.1)協議中和網頁緩存相關的幾個字段。前兩個用來控制緩存的失效日期,后兩個用來驗證網頁的有效性。要注意的是, HTTP/1.0有一個功能比較弱的緩存控制機制:Pragma,使用HTTP/1.0的緩存將忽略Expires和Cache-Control頭。

      Expires

      Expires字段聲明了一個網頁或URL地址不再被瀏覽器緩存的時間,一旦超過了這個時間,瀏覽器都應該聯系原始服務器。RFC告訴我們:“由于推斷的失效時間也許會降低語義透明度,應該被謹慎使用,同時我們鼓勵原始服務器盡可能提供確切的失效時間。”

      Cache-Control

      Cache-Control字段中可以聲明多些元素,例如no-cache, must-revalidate, max-age=0等。這些元素用來指明頁面被緩存最大時限,如何被緩存的,如何被轉換到另一個不同的媒介,以及如何被存放在持久媒介中的。但是任何一個 Cache-Control指令都不能保證隱私性或者數據的安全性。“private”和“no-store”指令可以為隱私性和安全性方面提供一些幫助,但是他們并不能用于替代身份驗證和加密。

      Last-Modified

      Last-Modified和ETag是條件請求(Conditional Request)相關的兩個字段。如果一個緩存收到了針對一個頁面的請求,它發送一個驗證請求詢問服務器頁面是否已經更改,在HTTP頭里面帶上” ETag”和”If Modify Since”頭。服務器根據這些信息判斷是否有更新信息,如果沒有,就返回HTTP 304(NotModify);如果有更新,返回HTTP 200和更新的頁面內容,并且攜帶新的”ETag”和”LastModified”。

      使用這個機制,能夠避免重復發送文件給瀏覽器,不過仍然會產生一個HTTP請求。

      ETag

      既然有了Last-Modified,為什么還要用ETag字段呢?因為如果在一秒鐘之內對一個文件進行兩次更改,Last-Modified就會不正確。因此,HTTP/1.1利用Entity Tag頭提供了更加嚴格的驗證。

標簽: IIS  

加入本站QQ群(312716741),交流分享網站建設、優化、SEO技術。。。

 

  • 擴展閱讀
上一篇: windows xp iis5.1安裝配置php環境
下一篇: 作弊了?網站被百度k得只剩下首頁
  • 13.西*
  • 這個對于我使用老美服務器的人來說非常的好
  • 2012-9-17 7:53:33 回復該留言
  • 7.好*
  • 有人作了形象的說明,緩存就像是一個大箱子,以頁面緩存為例,在第一位客戶訪問具有緩存機制的頁面時,iis會將該頁面地址及內容記錄下來放入大箱子中,后續的客戶在訪問該頁面時,iis直接根據該地址調出頁面內容展現在客戶端。這樣減好了訪問服務器的操作,提高了效率。
  • 2012-8-17 11:04:38 回復該留言
  • 3.萍******
  • 多謝樓主的分享,沒想到這樣也可以提交網站的訪問速度。我的萍鄉生活網按照您的方法也啟用了網頁緩存,設置了網頁內容過期時間,好像速度快了很多,確實高明!
  • 2012-8-15 23:08:59 回復該留言
  • 2.影***
  • 非常感謝樓主,一直對頁面緩存方面不是太擅長,看了后非常的感謝!
  • 2012-8-15 17:50:08 回復該留言

發表評論:

◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。

訂閱博客                   QQ交流群(312716741)

  • 通過Google訂閱本站 通過鮮果訂閱本站 通過抓蝦訂閱本站
  • 通過QQ郵箱訂閱本站 通過Yahoo訂閱本站 通過有道訂閱本站

Search

最新評論及回復

最近留言

網站分類

Powered By Z-Blog 1.8 Walle Build 91204 Designed by Han'space

Copyright @2009-2019 All Rights Reserved. 粵ICP備14028160號-1

Powered By Z-Blog 1.8 Walle Build 91204
Copyright @2009-2019 All Rights Reserved.
微拍福利