• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 面向網站管理員的Web緩存加速指南

    發表于:2013-01-18來源:IT博客大學習作者:不詳點擊數: 標簽:Web緩存
    面向網站管理員的Web緩存加速指南 Web緩存無害嗎?為什么要鼓勵緩存? Web緩存在互聯網上最容易被誤解的技術之一:網站管理員經常怕對網站失去控制,由于代理緩存會“隱藏”他們的用戶,讓他們感覺難以監控誰在使用他們的網站。

      是一篇知識性的文檔,主要目的是為了讓Web緩存相關概念更容易被開發者理解并應用于實際的應用環境中。為了簡要起見,某些實現方面的細節被簡化或省略了。如果你更關心細節實現則完全不必耐心看完本文,后面參考文檔和更多深入閱讀部分可能是你更需要的內容。

      什么是Web緩存,為什么要使用它?

      緩存的類型:

      瀏覽器緩存;

      代理服務器緩存;

      Web緩存無害嗎?為什么要鼓勵緩存?

      Web緩存如何工作:

      如何控制(控制不)緩存:

      HTML Meta標簽 vs. HTTP頭信息;

      Pragma HTTP頭信息(為什么不起作用);

      使用Expires(過期時間)HTTP頭信息控制保鮮期;

      Cache-Control(緩存控制) HTTP頭信息;

      校驗參數和校驗;

      創建利于緩存網站的竅門;

      編寫利于緩存的腳本;

      常見問題解答;

      緩存機制的實現:Web服務器端配置;

      緩存機制的實現:服務器端腳本;

      參考文檔和深入閱讀;

      關于本文檔;

      什么是Web緩存,為什么要使用它?

      Web緩存位于Web服務器之間(1個或多個,內容源服務器)和客戶端之間(1個或多個):緩存會根據進來的請求保存輸出內容的副本,例如html頁面, 圖片,文件(統稱為副本),然后,當下一個請求來到的時候:如果是相同的URL,緩存直接使用副本響應訪問請求,而不是向源服務器再次發送請求。

      使用緩存主要有2大理由:

      減少相應延遲:因為請求從緩存服務器(離客戶端更近)而不是源服務器被相應,這個過程耗時更少,讓web服務器看上去相應更快;

      減少網絡帶寬消耗:當副本被重用時會減低客戶端的帶寬消耗;客戶可以節省帶寬費用,控制帶寬的需求的增長并更易于管理。

      緩存的類型

      瀏覽器緩存

      對于新一代的Web瀏覽器來說(例如:IE,Firefox):一般都能在設置對話框中發現關于緩存的設置,通過在你的電腦上僻處一塊硬盤空間用于存儲你已經看過的網站的副本。瀏覽器緩存根據非常簡單的規則進行工作:在同一個會話過程中(在當前瀏覽器沒有被關閉之前)會檢查一次并確定緩存的副本足夠新。這個緩存對于用戶點擊“后退”或者點擊剛訪問過的鏈接特別有用,如果你瀏覽過程中訪問到同一個圖片,這些圖片可以從瀏覽器緩存中調出而即時顯現。

      代理服務器緩存

      Web代理服務器使用同樣的緩存原理,只是規模更大。代理服務器群為成百上千用戶服務使用同樣的機制;大公司和ISP經常在他們的防火墻上架設代理緩存或者單獨的緩存設備;

      由于帶路服務器緩存并非客戶端或者源服務器的一部分,而是位于原網絡之外,請求必須路由到他們才能起作用。一個方法是手工設置你的瀏覽器:告訴瀏覽器使用 那個代理,另外一個是通過中間服務器:這個中間服務器處理所有的web請求,并將請求轉發到后臺網絡,而用戶不必配置代理,甚至不必知道代理的存在;

      代理服務器緩存:是一個共享緩存,不只為一個用戶服務,經常為大量用戶使用,因此在減少相應時間和帶寬使用方面很有效:因為同一個副本會被重用多次。

      網關緩存

      也被稱為反向代理緩存或間接代理緩存,網關緩存也是一個中間服務器,和內網管理員部署緩存用于節省帶寬不同:網關緩存一般是網站管理員自己部署:讓他們的網站更容易擴展并獲得更好的性能;

      請求有幾種方法被路由到網關緩存服務器上:其中典型的是讓用一臺或多臺負載均衡服務器從客戶端看上去是源服務器;

      網絡內容發布商 (Content delivery networks CDNs)分布網關緩存到整個(或部分)互聯網上,并出售緩存服務給需要的網站,Speedera和Akamai就是典型的網絡內容發布商(下文簡稱CDN)。

      本問主要關注于瀏覽器和代理緩存,當然,有些信息對于網關緩存也同樣有效;

      Web緩存無害嗎?為什么要鼓勵緩存?

      Web緩存在互聯網上最容易被誤解的技術之一:網站管理員經常怕對網站失去控制,由于代理緩存會“隱藏”他們的用戶,讓他們感覺難以監控誰在使用他們的網站。

      不幸的是:就算不考慮Web緩存,互聯網上也有很多網站使用非常多的參數以便管理員精確地跟蹤用戶如何使用他們的網站;如果這類問題也是你關心的,本文將告訴你如何獲得精確的統計而不必將網站設計的非常緩存不友好。

      另外一個抱怨是緩存會給用戶過期或失效的數據;無論如何:本文可以告訴你怎樣配置你的服務器來控制你的內容將被如何緩存。

      CDN是另外一個有趣的方向,和其他代理緩存不同:CDN的網關緩存為希望被緩存的網站服務,沒有以上顧慮。即使你使用了CDN,你也要考慮后續的代理服務器緩存和瀏覽器緩存問題。

      另外一方面:如果良好地規劃了你的網站,緩存會有助于網站服務更快,并節省服務器負載和互聯網的鏈接請求。這個改善是顯著的:一個難以緩存的網站可能需要幾秒去載入頁面,而對比有緩存的網站頁面幾乎是即時顯現:用戶更喜歡速度快的網站并更經常的訪問;

      這樣想:很多大型互聯網公司為全世界服務器群投入上百萬資金,為的就是讓用戶訪問盡可能快,客戶端緩存也是這個目的,只不過更靠近用戶一端,而且最好的一點是你甚至根本不用為此付費。

      事實上,無論你是否喜歡,代理服務器和瀏覽器都回啟用緩存。如果你沒有配置網站正確的緩存,他們會按照缺省或者緩存管理員的策略進行緩存。

      緩存如何工作

      所有的緩存都用一套規則來幫助他們決定什么時候使用緩存中的副本提供服務(假設有副本可用的情況下);一些規則在協議中有定義(HTTP協議1.0和1.1),一些規則由緩存的管理員設置(瀏覽器的用戶或者代理服務器的管理員);

      一般說來:遵循以下基本的規則(不必擔心,你不必知道所有的細節,細節將隨后說明)

      如果響應頭信息:告訴緩存器不要保留緩存,緩存器就不會緩存相應內容;

      如果請求信息是需要認證或者安全加密的,相應內容也不會被緩存;

    原文轉自: http://www.mnot.net/cache_docs/

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>