亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

網(wǎng)站內容策略(:網(wǎng)站緩存策略什么是Web內容緩存?)

優(yōu)采云 發(fā)布時(shí)間: 2022-04-15 09:15

  網(wǎng)站內容策略(:網(wǎng)站緩存策略什么是Web內容緩存?)

 ?。壕W(wǎng)站緩存策略,今天小編要告訴大家,網(wǎng)站緩存策略,什么是網(wǎng)站緩存,相信你不會(huì )陌生,它就是cookie,超越視界將從技術(shù)角度為大家揭開(kāi)網(wǎng)站緩存策略的秘密。

  在本期《廣州百度:網(wǎng)站緩存策略》文章中,我們將討論網(wǎng)頁(yè)內容緩存的一些基本概念。這主要包括如何選擇緩存策略以確保您的內容被 Internet 范圍的緩存正確處理。我們將討論緩存的好處、副作用以及不同策略可以帶來(lái)的性能和靈活性的最佳組合。

  廣州百度:網(wǎng)站緩存政策

  什么是緩存(緩存)?

  緩存是一個(gè)描述存儲可重用資源以加速后續請求的行為的術(shù)語(yǔ)。緩存有很多不同的類(lèi)型,每種都有自己的特點(diǎn),應用程序緩存和內存中的緩存都是常用的,因為它們可以加速特定的響應。

  Web緩存主要在《廣州百度:網(wǎng)站緩存策略》文章中描述,是一種不同類(lèi)型的緩存。Web 緩存是 HTTP 協(xié)議的核心功能,可最大限度地減少網(wǎng)絡(luò )流量并提高用戶(hù)感知的整體系統響應能力。在內容從服務(wù)器傳輸到瀏覽器的過(guò)程中,每個(gè)級別都可以找到緩存。

  Web緩存根據特定規則緩存相應HTTP請求的響應。然后,緩存可以直接滿(mǎn)足對緩存內容的后續請求,而不是將請求重新發(fā)送到 Web 服務(wù)器。

  益處

  有效的緩存技術(shù)不僅可以幫助用戶(hù),還可以幫助內容提供者。緩存內容分發(fā)的好處包括:

  ? 減少網(wǎng)絡(luò )開(kāi)銷(xiāo):內容可以緩存在從內容提供者到內容消費者的網(wǎng)絡(luò )路徑之間的許多不同位置。當內容被緩存在更靠近內容消費者的地方時(shí),由于緩存的存在,請求不會(huì )消耗額外的網(wǎng)絡(luò )資源。

  ● 更快的響應:緩存可以使內容更快地可用,因為它不必經(jīng)過(guò)整個(gè)網(wǎng)絡(luò )往返。緩存放置在更靠近用戶(hù)的位置,例如瀏覽器緩存,使得內容檢索幾乎是即時(shí)的。

  ? 在相同硬件上提高速度:對于保存原創(chuàng )內容的服務(wù)器,通過(guò)允許積極的緩存策略,可以從硬件中擠出更多的性能。內容所有者可以利用分發(fā)路徑中的強大服務(wù)器來(lái)處理特定內容負載的沖擊。

  ● 網(wǎng)絡(luò )中斷時(shí)內容依然可用:通過(guò)一定的策略,緩存可以保證在源站不可用時(shí),用戶(hù)仍然可以使用相應的內容。

  可以緩存什么?

  某些內容比其他內容更有可能被緩存。對于大多數網(wǎng)站來(lái)說(shuō),一些適合緩存的內容如下:

  ●標志和商標圖像

  ● 普通不變的圖像(例如,導航圖標)

  ● CSS 樣式表

  ● 普通Java文件

  ●可下載的內容

  ●媒體文件

  這些文件往往很少更改,因此長(cháng)時(shí)間緩存它們會(huì )受益。

  必須注意緩存中的一些項目:

  ● HTML 頁(yè)面

  ●更改后的圖像將被替換

  ● 經(jīng)常修改的 Java 和 CSS 文件

  ●需要經(jīng)過(guò)身份驗證的cookies才能訪(fǎng)問(wèn)的內容

  有些內容不應該被緩存:

  ●與敏感信息相關(guān)的資源(*敏*感*詞*等)

  ● 與用戶(hù)相關(guān)且經(jīng)常變化的數據

  除了上述一般規則外,通常還需要指定一些規則來(lái)更好地緩存不同種類(lèi)的內容。例如,如果登錄的用戶(hù)都看到相同的 網(wǎng)站 視圖,則該頁(yè)面應該被緩存到任何地方。如果登錄用戶(hù)在一段時(shí)間內看到該站點(diǎn)的用戶(hù)特定視圖,您應該允許用戶(hù)的瀏覽器緩存該數據,并且不允許任何中間節點(diǎn)緩存該視圖。

  Web 內容的緩存位置

  Web 內容緩存在整個(gè)分發(fā)路徑的許多不同位置:

  ● 瀏覽器緩存:Web 瀏覽器本身維護一個(gè)小緩存。通常,瀏覽器使用策略來(lái)指示緩存最重要的內容。這可能是與用戶(hù)相關(guān)的內容,或者可能會(huì )被重新請求并且下載成本很高。

  ● 中間緩存代理:客戶(hù)端和您的基礎設施之間的任何服務(wù)器都可以按預期緩存一些內容。這些緩存可能由 ISP(互聯(lián)網(wǎng)服務(wù)提供商)或其他獨立組織提供。

  ● 反向緩存:您的服務(wù)器基礎架構可以為后端服務(wù)實(shí)現自己的緩存。如果實(shí)現了緩存,則可以在處理請求的地方返回相應的內容,而無(wú)需為每個(gè)請求使用后端服務(wù)。

  以上位置通??梢愿鶕约旱木彺娌呗院蛢热菰吹木彺娌呗跃彺嬉恍膬热?。

  一些可用于指示內容緩存策略的 Cache-Control 選項如下:

  ● no-cache:該指令指示所有緩存的內容必須在新請求到達時(shí)重新驗證,然后才能發(fā)送到客戶(hù)端。該指令實(shí)際上將內容立即標記為過(guò)期,但允許通過(guò)身份驗證重新進(jìn)行身份驗證以避免重新下載整個(gè)內容。

  ● no-store:該指令表示不能以任何方式緩存緩存的內容。適合在回復敏感信息時(shí)設置。

  ● public:將內容標記為公開(kāi),即可以被瀏覽器和其他中間節點(diǎn)緩存。通常,對于使用 HTTP 身份驗證的請求,默認情況下會(huì )將響應標記為私有。公共標簽將覆蓋此設置。

  ● 私有:將內容標記為私有。私有數據可以被用戶(hù)的瀏覽器緩存,但不能被任何中間節點(diǎn)緩存。它通常用于與用戶(hù)相關(guān)的數據。

  ● max-age:此設置表示緩存內容的最長(cháng)期限,超過(guò)該期限后必須在源服務(wù)器上進(jìn)行驗證或重新下載。這個(gè)選項在很大程度上取代了現代瀏覽器中的 Expires 標頭,瀏覽器也將其作為確定內容新鮮度的基礎。此選項的值以秒為單位,最長(cháng)為一年(秒)的新鮮期。

  ● s-maxage:此選項與max-age 非常相似,它指定內容可以緩存多長(cháng)時(shí)間。不同的是,這個(gè)選項只在中間節點(diǎn)的緩存中有效。結合這兩個(gè)選項可以構建更靈活的緩存策略。

  ● must-revalidate:指定必須嚴格遵循max-age、s-maxage 或Expires 頭指定的新鮮度信息。它可以防止在網(wǎng)絡(luò )中斷等場(chǎng)景中使用緩存的數據。

  ● proxy-revalidate:與上述選項作用相同,但只適用于中間代理節點(diǎn)。在這種情況下,用戶(hù)的瀏覽器可以在網(wǎng)絡(luò )中斷的情況下使用過(guò)期的內容,但中間緩存的內容不能用于此目的。

  ● no-transform:此選項告訴緩存在任何情況下都不會(huì )出于性能原因修改接收到的內容。這意味著(zhù)緩存不允許壓縮接收到的內容(在壓縮版本中還沒(méi)有從源服務(wù)器接收到)并發(fā)送它。

  這些選項可以以不同的方式組合以獲得不同的緩存行為。一些互斥值如下:

  no-cache、no-store 和由前面未提及的其他選項指定的常見(jiàn)緩存行為

  ●公共和私人

  如果同時(shí)設置了 no-store 和 no-cache,則 no-store 取代 no-cache。對于未授權請求的響應,public 是隱式設置。對于授權請求的回復,隱含私有選項??梢酝ㄟ^(guò)在 Cache-Control 標頭中指定相應的相反選項來(lái)覆蓋它們。

  制定緩存策略

  在理想的世界中,任何東西都可以被盡可能多地緩存,而你的服務(wù)器只需要偶爾提供一些驗證內容。但這在現實(shí)中很少發(fā)生,因此您應該嘗試設置一些合理的緩存策略來(lái)平衡長(cháng)期緩存和站點(diǎn)更改的需求。

  常見(jiàn)問(wèn)題

  在許多情況下,由于內容的生成方式(例如基于每個(gè)用戶(hù)的動(dòng)態(tài))或內容的性質(zhì)(例如敏感的*敏*感*詞*),不應緩存內容。很多管理員在設置緩存時(shí)可能會(huì )面臨的另一個(gè)問(wèn)題是外部緩存中的數據沒(méi)有過(guò)期,而是生成了新版本的數據。

  這些是影響緩存性能和您提供的數據準確性的常見(jiàn)問(wèn)題。但是,我們可以通過(guò)開(kāi)發(fā)提前預測這些問(wèn)題的緩存策略來(lái)緩解這些問(wèn)題。

  一般建議

  盡管您的實(shí)際情況會(huì )指導您選擇緩存策略,但以下建議可以幫助您做出一些合理的決定。

  在您擔心要使用哪個(gè)特定標頭之前,有一些特定步驟可以幫助您提高緩存命中率。一些建議如下:

  ● 為圖像、CSS 和共享內容創(chuàng )建特定文件夾:將內容放在特定文件夾中,您可以輕松地從站點(diǎn)的任何頁(yè)面引用這些內容。

  對相同的內容使用相同的 URL:由于緩存使用內容請求中的主機名和路徑作為鍵,因此您應該確保所有頁(yè)面都以相同的方式引用該內容,前面的建議使這更容易到達。

  ● 盡可能使用CSS 圖像拼接:對于圖標和導航之類(lèi)的東西,使用CSS 圖像拼接可以減少渲染頁(yè)面所需的請求往返,并允許拼接長(cháng)時(shí)間緩存。

  ● 盡可能本地化宿主腳本和外部資源:如果你使用Java腳本和其他外部資源,如果上游沒(méi)有提供合適的緩存頭,你應該考慮把它們放在你自己的服務(wù)器上。您應該了解上游的任何更新,以便更新您的本地副本。

  ● 為緩存內容采集文件摘要:CSS 和Java 文件等靜態(tài)內容通常更適合采集文件摘要。這意味著(zhù)向文件名添加唯一標識符(通常是文件的哈希)可以繞過(guò)緩存并確保在文件修改后檢索到新內容。有許多工具可以幫助您創(chuàng )建文檔摘要和修改 HTML 文檔中的引用。

  對于不同的文件正確選擇不同的header,以下可以作為一般參考:

  ? 允許所有緩存存儲一般內容:靜態(tài)內容以及非用戶(hù)相關(guān)內容應緩存在分發(fā)鏈中的所有節點(diǎn)。這使中間節點(diǎn)能夠將該內容回復給多個(gè)用戶(hù)。

  ? 允許瀏覽器緩存與用戶(hù)相關(guān)的內容:對于每個(gè)用戶(hù)的數據,在用戶(hù)自己的瀏覽器中緩存通常是可以接受且有益的。緩存在用戶(hù)自己的瀏覽器中,可以讓用戶(hù)在下次瀏覽時(shí)瞬間閱讀,但這些內容不適合緩存在任何中間代理節點(diǎn)中。

  ●把時(shí)間敏感的內容作為特例:如果你的數據是時(shí)間敏感的,那么相比以上兩個(gè)引用,你應該把這些數據作為特例來(lái)處理,以確保在危急情況下不會(huì )使用過(guò)期的數據。例如,如果您的網(wǎng)站有一個(gè)購物車(chē),它應該立即反映購物車(chē)的內容。根據內容的特性,可以在 Cache-Control 標頭中使用 no-cache 或 no-store 選項。

  ? 始終提供驗證器:驗證器可以刷新過(guò)期內容而無(wú)需重新下載。設置 ETag 和 Last-Modified 標頭將允許緩存向源服務(wù)器驗證內容并刷新該內容的新鮮度以在內容未被修改時(shí)減少負載。

  ● 支持的內容設置較長(cháng)的新鮮期:為了更有效地使用緩存,一些支持的內容應該設置較長(cháng)的新鮮期。這通常更適合用戶(hù)請求呈現 HTML 頁(yè)面的圖像和 CSS 等內容。與文件摘要一起,設置延長(cháng)的新鮮期將允許緩存長(cháng)時(shí)間存儲這些資源。如果資源發(fā)生變化,修改后的文件摘要將使緩存數據失效并觸發(fā)新內容的下載。屆時(shí),新支持的內容將繼續緩存。

  ●為父內容設置較短的新鮮期:為使之前的模式正常工作,容器類(lèi)的內容應相應設置較短的新鮮期,或者不全部緩存。這通常是用于其他輔助內容的 HTML 頁(yè)面。該 HTML 頁(yè)面將被頻繁下載,使其能夠響應更改。因此可以盡可能多地緩存支持性?xún)热荨?/p>

  關(guān)鍵是要在一方面盡可能多地緩存和保留將來(lái)在發(fā)生更改時(shí)更改整個(gè)內容的機會(huì )之間取得平衡。您的網(wǎng)站應該同時(shí)具備:

  ● 嘗試緩存內容

  ●可重新驗證的具有短新鮮期的緩存內容

  ● 完全沒(méi)有緩存的內容

  這樣做的目的是將盡可能多的內容移動(dòng)到第一類(lèi)(盡可能緩存),同時(shí)保持可接受的緩存命中率。

  原創(chuàng )文章,作者:墨宇SEO,如轉載請注明出處:

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久