web緩存(代理服務器)

web緩存

一個web緩存又稱爲代理服務器,是一個網絡實體,它有自己的磁盤存儲,保存着最近請求的對象。
瀏覽器可以被配置爲將請求第一次發到web緩存,下面是訪問緩存的步驟(www.baidu.com):

  • 瀏覽器與web緩存建立一個TCP連接,將http請求報文發給web緩存
  • web緩存檢查本地是否有請求對象的副本,如果有,就將它包含在http響應報文中發給瀏覽器
  • 如果web緩存中沒有請求的對象,那麼web緩存就與原始服務器(www.baidu.com)之間打開一個TCP連接,緩存向原始服務器發送http請求,原始服務器將請求內容放在http響應報文中,發給緩存
  • 當web緩存收到響應後,將它保存在本地存儲中,並且向客戶瀏覽器發送一個響應報文(通過之前建立的TCP連接)
    可以看出web緩存既是客戶端又是服務器,一般web緩存是被ISP安裝的,比如一所大學可能安裝一臺代理服務器,並將校園裏所有的主機瀏覽器配置成指向它。

代理服務器被部署在網絡中有兩個原因:

  • 代理服務器可以大幅減少客戶端請求的響應時間
  • 代理服務器可以大幅減少一個機構接入因特網的流量,進而可以減少整個因特網的流量

通過使用內容分佈式網絡(Content Distribution Networks),web緩存在當今互聯網中扮演着越來越重要的作用

條件GET

雖然代理服務器可以減少用戶感知的響應時間,但是它也有一個問題:保存在代理服務器中的對象副本可能是過期的,因爲原始服務器中的對象可能被修改了。因此就需要有一種機制可以保證代理中的對象是更新過的,這種機制就是條件GET(代理向原始服務器發送)。

條件GET有兩個要素:

  • 請求報文使用GET方法
  • 請求報文包含有If-Modified-Since頭部行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章