真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

透過ATS緩存配置看如何判斷HTTP資源是否可緩存方法論-創(chuàng)新互聯(lián)

緩存有個大原則,就是在不影響用戶、不觸犯法律的前提下,盡量多的將資源緩存到本地。哪些HTTP資源可以cache哪些不能cache,ATS對可緩存性有一套系統(tǒng)的判斷機制,設置靈活,可以對全局進行配置也可以對個別資源單獨配置,可以針對單個url進行配置也可以針對文件后綴類型進行配置,可以對正常資源進行配置也可以對故障信息(狀態(tài)碼400以上)進行配置,可以對靜態(tài)資源進行配置也可以對動態(tài)資源單獨配置,現(xiàn)在就剖開看一下。

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產品對外擴展宣傳的重要窗口,一個合格的網站不僅僅能為公司帶來巨大的互聯(lián)網上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)面向各種領域:生料攪拌車網站設計、營銷型網站建設解決方案、網站設計等建站排名服務。

一、HTTP響應頭信息配置緩存級別

任何cache系統(tǒng)大多數資源都是通過HTTP頭信息來判斷是否可緩存的,ATS同樣如此,此頭信息的配置是資源是否cache的一個必要條件,并且根據頭部信息的情況將資源分為3個級別,分別是:

  • 2、有明確的緩存生命周期,具體表現(xiàn)是響應頭里有expires(到什么時間過期)或者有Cache-Control:(max-age、no-cache),這種設置對用戶最負責任,不會出錯,我們線上ATS默認使用這個級別;

  • 1、有Last-Modified頭或者有明確的緩存生命周期,這個級別就要松一些了,即使資源沒有明確的緩存周期,但是通過Last-Modified頭結合ATS自身的算法機制(引進了老化因子的概念)計算出緩存時間,對資源進行緩存,存多久看后面的第五條;

  • 0、在級別1的基礎上,對沒有明確頭部信息的資源,默認存入本地緩存,存多久見后面第五條,然后每次if-modified-since回源。

   具體對應的配置如下:

    proxy.config.http.cache.required_headers  0|1|2   (0是無要求,1是有Last-Modified頭或者有明確的緩存生命周期,2是有明確的緩存生命周期)

此為ATS所有內容是否可緩存的必要不充分條件。

二、動態(tài)內容是否緩存

ATS不會像人一樣通過理性判斷去確定資源是否為動態(tài),他對動靜態(tài)資源的判斷完全是依賴url特征匹配,我們線上的默認配置是不緩存,對應的配置參數是:

   proxy.config.http.cache.cache_urls_that_look_dynamic  0|1  (0是不緩存,1是可緩存)

 此為動態(tài)內容ATS是否可緩存的必要不充分條件。

三、帶cookie的資源是否緩存

web2.0的網站中,很多資源帶有cookie,對于cookie的信息是否緩存,如何緩存才能不影響用戶質量考驗著cache系統(tǒng)的性能,ATS對于cookie的設置分5個級別:

   proxy.config.http.cache.cache_responses_to_cookies INT  0|1|2|3|4

  • 0、任何帶cookie的資源都不緩存;

  • 1、任何帶cookie的資源都緩存;

  • 2、只緩存是圖片的cookie資源;

  • 3、除了文本類型其余的cookie資源都緩存。

  • 4、除了系統(tǒng)響應的沒有”Set-Cookie”或者有”Cache-Control:public”的文本類型其余的cookie資源都緩存。(我們線上設備的默認配置級別)

 此為cookie內容ATS是否可緩存的必要不充分條件。

四、故障信息是否緩存

所謂故障信息指的是源站返回的4XX、5XX等錯誤代碼,對于故障信息是否緩存是存在爭議的,ATS在處理上將故障信息分為兩類,一類是帶有明確生命周期的故障,另一類是沒帶有生命周期的故障,配置的參數如下:

    proxy.config.http.negative_caching_enabled  0|1  (1對所有故障信息都緩存,0是只緩存有明確生命周期的故障信息,線上默認使用的是0)

    proxy.config.http.negative_caching_lifetime  2s  (對有明確緩存生命周期的故障信息的緩存時間,可以根據時間時間設置,目前線上默認改為2s)

五、對于請求頭、響應頭中無任何緩存說明的信息資源

對于這種信息ats是通過proxy.config.http.cache.required_headers頭再加上默認時間指令來控制的,比如header頭設置的是0級別,就是說對于頭部信息設置最寬松的策略,這時一個請求,如果沒有Cache-control、expires、Last-Modified這些字段,但是有Last-Modified頭的話,是通過最小化因子計算緩存時間,對應指令和計算方式如下:

    proxy.config.http.cache.heuristic_lm_factor FLOAT 0.100000 (緩存時間=當前時間減Last-Modified時間*0.1)

   對于連Last-Modified頭都沒有的信息,是通過默認存儲時間去計算的,這個nginx的判斷邏輯有點類似,不過nginx對于緩存與否是全部判斷了后再操作,但ats是存不存和存多久是分開的,哪怕存儲時間為0也會存一下,這兩條指令如下:

    proxy.config.http.cache.heuristic_min_lifetime INT 3600

    proxy.config.http.cache.heuristic_max_lifetime INT 17280000

   單位是秒,也就是說對這種沒任何緩存說明信息的資源最小存3600秒,大存17280000秒。

   其實對于線上環(huán)境這三條指令都是用不到的,因為我們把header頭的級別設置為了2。

   綜上所述:對于ats而言,存儲設置是很靈活的,可以對各類資源單獨設置,如果覺得還不夠還可以在cache.config(影響cache-control字段)對單個資源進行設置。當然每一環(huán)都是有邏輯的,我舉個例子,現(xiàn)在比如我想要對除了授權類型的所有資源進行強制緩存10天,而且緩存期間不回源,可以這么設置:

traffic_line -s proxy.config.http.cache.cache_urls_that_look_dynamic -v 1

traffic_line -s proxy.config.http.cache.cache_responses_to_cookies -v 1

traffic_line -s proxy.config.http.cache.required_headers -v 0

traffic_line -s proxy.config.http.cache.heuristic_min_lifetime -v 8640000

traffic_line -s proxy.config.http.cache.heuristic_max_lifetime -v 8640000

traffic_line -s proxy.config.http.cache.heuristic_lm_factor -v 0.5

traffic_line -s proxy.config.http.cache.when_to_revalidate -v 3

cache.config   url_regex=.*    scheme=http       ttl-in-cache=240h

自建個人原創(chuàng)站運維網咖社(www.net-add.com),新的博文會在個人站更新,歡迎瀏覽。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享文章:透過ATS緩存配置看如何判斷HTTP資源是否可緩存方法論-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/ejcjp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部