Web 開發人員需知的 Web 緩存知識

發表于:2013-07-30來源:web開發家園作者:sxwgf點擊數: 標簽:緩存
Web 開發人員需知的 Web 緩存知識.最近的譯文距今已有4年之久,原文有一定的更新。今天踩著前輩們的肩膀,再次把這篇文章翻譯整理下。一來讓自己對web緩存的理解更深刻些,二來讓大家注意力稍稍轉移下,不要整天HTML5, 面試題啊叨啊叨的~~

  最近的譯文距今已有4年之久,原文有一定的更新。今天踩著前輩們的肩膀,再次把這篇文章翻譯整理下。一來讓自己對web緩存的理解更深刻些,二來讓大家注意力稍稍轉移下,不要整天HTML5, 面試題啊叨啊叨的~~

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

  Web緩存游走于服務器和客戶端之間。這個服務器可能是源服務器(資源所駐留的服務器Add),數量可能是1個或多個;這個客戶端也可能是1個或多個。Web緩存就在服務器-客戶端之間搞監控,監控請求,并且把請求輸出的內容(例如html頁面、 圖片和文件)(統稱為副本)另存一份;然后,如果下一個請求是相同的URL,則直接請求保存的副本,而不是再次麻煩源服務器。

  使用緩存的2個主要原因:

  降低延遲:緩存離客戶端更近,因此,從緩存請求內容比從源服務器所用時間更少,呈現速度更快,網站就顯得更靈敏。

  降低網絡傳輸:副本被重復使用,大大降低了用戶的帶寬使用,其實也是一種變相的省錢(如果流量要付費的話),同時保證了帶寬請求在一個低水平上,更容易維護了。

  Web緩存的類型

  1. 瀏覽器緩存

  在任何現代瀏覽器上(如IE, FireFox, Chrome)折騰清除隱私數據(//zxx: 原文說的是首選項,顯然out了,這里有改動)的對話框,你很可能會注意到“緩存”這個設置項。

web制作、開發人員需知的Web緩存知識

  瀏覽器會在你的硬盤上專門開辟一個空間專門為你存儲資源副本。瀏覽器緩存的工作規則很簡單:檢查以確保副本是最新的,通常只要一次會話(就是當前瀏覽器調用的這次N)。

  瀏覽器緩存在用戶觸發“后退”操作或點擊一個之前看過的鏈接的時候很管用。同樣,如果你在網站上訪問同一張圖片,該圖片可以從瀏覽器緩存中調出并幾乎立即顯現出來。

  2. 代理服務器緩存

  Web代理服務器使用同樣的緩存原理,只是規模更大。代理以同樣的方式服務千萬用戶,大公司和ISP(Internet Server Provider, Internet服務提供商Add)經常在他們的防火墻或者單獨的設備(也被稱為中介(intermediaries))上架設代理緩存。

  由于代理服務器緩存并非客戶端或者源服務器的一部分,而是處于網絡中,請求需要以某種方式路由到它們。一種方法是手動設置,告訴瀏覽器的你常用的代理服務器(//zxx: 翻墻的時候常用的),另外就是使用攔截。攔截代理(Interception proxies)把Web請求根據自己的底層網絡重定向,因此,客戶端無需配置,甚至都不需要知道它們。//zxx: 維基百科上提供的幾種檢測攔截代理服務器存在的方法add,您若有興趣,可以點擊這里查看。

  代理緩存屬于一種共享緩存;往往有大量的用戶使用,因此,其在降低延時和網絡流量上很有用,畢竟每個副本都被大量重用。//zxx: 這里我有疑問:就算是放在代理服務器上,每次獲取還是要通過網絡的啊,如何降低了網絡流量呢?希望誰可以幫忙解惑下。

  3. 網關緩存

  也被稱為“反向代理緩存”或“替代緩存”。網關緩存同樣是起中介作用的,不過不是(素不相識、不曾謀面的Add)網絡管理員部署的,而多半是網站管理員(公司專門的運維工程師、或UED或程序組某人Add)他們自己部署,這樣更容易擴展與維護。

  可以有多種方法把請求路由到網關緩存,但通常使用某種形式的負載均衡器①,使它們中的一個或多個看起來像是源服務器。內容分發網絡②(CDNs)為整個網絡(或部分)分配網關緩存,然后把這些緩存賣給需要的網站。Speedera③和Akamai④就是代表性的網絡內容發布商。

 ?、儇撦d均衡器:是一種采用各種分配算法把網絡請求分散到一個服務器集群中的可用服務器上去,通過管理進入的Web數據流量和增加有效的網絡帶寬,從而使網絡訪問者獲得盡可能最佳的聯網體驗的硬件設備。

 ?、趦热莘职l網絡:即CDN, 基本思路是盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網絡各處放置節點服務器所構成的在現有的互 聯網基礎之上的一層智能虛擬網絡,CDN系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向 離用戶最近的服務節點上。其目的是使用戶可就近取得所需內容,解決 Internet網絡擁擠的狀況,提高用戶訪問網站的響應速度。

 ?、跾peedera:是一家全球性的內容服務提供商,它與北美、歐洲以及亞太地區的1000多家大型運營商都有聯系,并為那些不想在自己服務器上寄存內容的公司提供軟件下載、媒體及其它服務管理等業務。05年的時候被下面要介紹的Akamai以$130m的價格給收購了。

 ?、蹵kamai:美國Akamai是國際上最大的CDN服務商,它巨大的網絡分發能力在峰值時可達到15Tbps。 Akamai公司是為數不多的旨在消除Internet瓶頸和提高下載速度的幾家新公司之一,是一個致力于網絡交通提速的”內容發布”公司,是波士頓高技 術區最卓越的新興企業之一。Akamai公司向全球企業提供發送互聯網內容,匯流媒體和應用程序的服務(目前,該公司為15個國家的企業管理著8000多 臺服務器)。1998年,丹尼爾。L和麻省理工學院的一些研究人員一起創立了這家公司,他在麻省理工學院的碩士論文構成了Akamai公司最初的”自由 流”(Freeflow)技術的核心。

  本教程重點在瀏覽器和代理緩存,盡管有些信息對網關緩存感興趣的人也適用。

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

  Web緩存是互聯網中最容易被誤解的技術之一。網站管理員特別希望知道網站的一舉一動,比方說多少人訪問啦,訪問時間啊什么的,而緩存會“隱藏”他們的用戶,他們就無從得知到底誰訪問了這個站點。

  撿了芝麻丟西瓜,自認為放棄緩存可以精確跟蹤用戶,實際上,互聯網中有太多的變數,想精確得到一張用戶查看網站的圖片?沒那么簡單的,親!如果你很重視這個問題,恭喜你,本文正好提供了解決之道,即保證緩存友好,同時又能獲得統計。

  另外需要注意的是,緩存的內容都是舊的過時的。因此,如何準確更新就成了一個問題。不過不要擔心,本文會向你展示如何配置服務器,讓緩存就像你的女仆——隨便調教。

原文轉自:http://web.itivy.com/article-805-1.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97