色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

詳解瀏覽器的緩存機(jī)制

大小:0.3 MB 人氣: 2017-09-30 需要積分:1

  “緩存一直是前端優(yōu)化的主戰(zhàn)場(chǎng),利用好緩存就成功了一半。本篇從HTTP請(qǐng)求和響應(yīng)的頭域入手,讓你對(duì)瀏覽器緩存有個(gè)整體的概念。最終你會(huì)發(fā)現(xiàn)強(qiáng)緩存,協(xié)商緩存 和 啟發(fā)式緩存是如此的簡(jiǎn)單。”

  導(dǎo)讀

  瀏覽器對(duì)于請(qǐng)求資源,擁有一系列成熟的緩存策略。按照發(fā)生的時(shí)間順序分別為存儲(chǔ)策略、過期策略、協(xié)商策略,其中存儲(chǔ)策略在收到響應(yīng)后應(yīng)用,過期策略、協(xié)商策略在發(fā)送請(qǐng)求前應(yīng)用。流程圖如下所示:

  詳解瀏覽器的緩存機(jī)制

  廢話不多說,我們先來看兩張表格。

  1. HTTP Header中與緩存有關(guān)的Key:

  key描述存儲(chǔ)策略過期策略協(xié)商策略

  Cache-Control指定緩存機(jī)制,覆蓋其它設(shè)置????

  Pragmahttp1.0字段,指定緩存機(jī)制??

  Expireshttp1.0字段,指定緩存的過期時(shí)間??

  Last-Modified資源最后一次的修改時(shí)間??

  ETag唯一標(biāo)識(shí)請(qǐng)求資源的字符串??

  2. 緩存協(xié)商策略用于重新驗(yàn)證緩存資源是否有效,有關(guān)的Key如下:

  key描述

  If-Modified-Since緩存校驗(yàn)字段,值為資源最后一次的修改時(shí)間,即上次收到的Last-Modified值

  If-Unmodified-Since同上,處理方式與之相反

  If-Match緩存校驗(yàn)字段,值為唯一標(biāo)識(shí)請(qǐng)求資源的字符串,即上次收到的ETag值

  If-None-Match同上,處理方式與之相反

  各個(gè)頭域(key)的作用

  Cache-Control

  瀏覽器緩存里,Cache-Control是金字塔頂尖的規(guī)則,它藐視一切其他設(shè)置,只要其他設(shè)置與其抵觸,一律覆蓋之。

  不僅如此,它還是一個(gè)復(fù)合規(guī)則,包含多種值,橫跨存儲(chǔ)策略、過期策略兩種,同時(shí)在請(qǐng)求頭和響應(yīng)頭都可設(shè)置。

  語法為:“Cache-Control : cache-directive”。

  Cache-directive共有如下12種(其中請(qǐng)求中指令7種,響應(yīng)中指令9種):

  Cache-directive描述存儲(chǔ)策略過期策略請(qǐng)求字段響應(yīng)字段

  public資源將被客戶端和代理服務(wù)器緩存????

  private資源僅被客戶端緩存,代理服務(wù)器不緩存????

  no-store請(qǐng)求和響應(yīng)都不緩存??????

  no-cache相當(dāng)于max-age:0,must-revalidate即資源被緩存,但是緩存立刻過期,同時(shí)下次訪問時(shí)強(qiáng)制驗(yàn)證資源有效性????????

  max-age緩存資源,但是在指定時(shí)間(單位為秒)后緩存過期????????

  s-maxage同上,依賴public設(shè)置,覆蓋max-age,且只在代理服務(wù)器上有效。??????

  max-stale指定時(shí)間內(nèi),即使緩存過時(shí),資源依然有效????

  min-fresh緩存的資源至少要保持指定時(shí)間的新鮮期????

  must-revalidation / proxy-revalidation如果緩存失效,強(qiáng)制重新向服務(wù)器(或代理)發(fā)起驗(yàn)證(因?yàn)閙ax-stale等字段可能改變緩存的失效時(shí)間)????

  only-if-cached僅僅返回已經(jīng)緩存的資源,不訪問網(wǎng)絡(luò),若無緩存則返回504??

  no-transform強(qiáng)制要求代理服務(wù)器不要對(duì)資源進(jìn)行轉(zhuǎn)換,禁止代理服務(wù)器對(duì) Content-Encoding,Content-Range,Content-Type字段的修改(因此代理的gzip壓縮將不被允許)????

  假設(shè)所請(qǐng)求資源于4月5日緩存,且在4月12日過期。

  當(dāng)max-age 與 max-stale 和 min-fresh 同時(shí)使用時(shí),它們的設(shè)置相互之間獨(dú)立生效,最為保守的緩存策略總是有效。這意味著,如果max-age=10 days,max-stale=2 days,min-fresh=3 days,那么:

  根據(jù)max-age的設(shè)置,覆蓋原緩存周期, 緩存資源將在4月15日失效(5+10=15);

  根據(jù)max-stale的設(shè)置,緩存過期后兩天依然有效,此時(shí)響應(yīng)將返回110(Response is stale)狀態(tài)碼,緩存資源將在4月14日失效(12+2=14);

  根據(jù)min-fresh的設(shè)置,至少要留有3天的新鮮期,緩存資源將在4月9日失效(12-3=9);

  由于客戶端總是采用最保守的緩存策略,因此,4月9日后,對(duì)于該資源的請(qǐng)求將重新向服務(wù)器發(fā)起驗(yàn)證。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 美女扒开尿孔| 999久久狠狠免费精品| 无限资源在线观看高清| 破女在线观看视频| 人妻精品久久无码专区| 日韩一区精品视频一区二区| 欧美一区二区VA毛片视频| 欧美顶级情欲片免费看| 女人把腿张开叫男人桶免费视频| 男女床上黄色| 日本高清免费在线| 少女开女包www| 亚洲色婷婷久久精品AV蜜桃久久| 亚洲一区免费看| 一线高清视频在线播放| 69精品人人人人| 城中村快餐嫖老妇对白| 国产精品视频大全| 九九热只有精品| 奶水四溅54p| 台湾果冻传媒在线观看| 亚洲风情无码免费视频| 6080yy奇领电影在线看| 成人性视频全过程| 解开美女胸衣2破解版| 男男校园园bl文全肉高h寝室| 色偷偷网站| 69SEX久久精品国产麻豆| 高h喷水荡肉爽文总攻| 精品人妻伦一二三区久久AAA片| 麻豆蜜桃国语精品无码视频| 天堂色| 999久久国产精品免费人妻| 国产手机精品一区二区| 美国一级黄色| 性奴公司 警花| 国产 亚洲 中文字幕 久久网| 久久视热频国只有精品| 小sao货水好多真紧h的视频| 97免费人妻在线观看| 很黄很色60分钟在线观看|