成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

《HTTP權(quán)威指南》學(xué)習(xí)-緩存

godruoyi / 1597人閱讀

摘要:意思告訴服務(wù)端當(dāng)該對(duì)象在的時(shí)間在之后,我的緩存不新鮮給我新鮮的。否則我的緩存就是新鮮的不需要再提供了。較小緩存未命中的請(qǐng)求會(huì)被導(dǎo)向較大父緩存。則是絕對(duì)的最大過期時(shí)間。

緩存介紹 緩存的優(yōu)點(diǎn)

減少冗余的數(shù)據(jù)傳輸 節(jié)省流量

緩解了網(wǎng)絡(luò)瓶頸的問題 不需高帶寬即可快速加載頁(yè)面

降低了對(duì)原始服務(wù)器的要求 服務(wù)器更快響應(yīng) 避免過載

降低了距離時(shí)延 服務(wù)器較遠(yuǎn) 降低傳輸時(shí)間

什么情況下使用緩存

冗余的數(shù)據(jù)傳輸(GET)

帶寬瓶頸

瞬間擁塞

。。。。。

緩存過程 一般緩存場(chǎng)景

緩存命中:客戶端請(qǐng)求緩存 緩存將緩存的副本發(fā)送給客戶端

緩存未命中:客戶端請(qǐng)求緩存 緩存中沒有對(duì)應(yīng)的副本 請(qǐng)就被轉(zhuǎn)發(fā)給客戶端

緩存再驗(yàn)證命中:客戶端請(qǐng)求緩存 緩存無(wú)法判斷該副本是否新鮮 發(fā)送驗(yàn)證請(qǐng)求給服務(wù)端 服務(wù)器端返回仍是新鮮 緩存則將副本發(fā)送給客戶端

緩存處理步驟

網(wǎng)絡(luò)中接收抵達(dá)的請(qǐng)求報(bào)文

緩存對(duì)報(bào)文進(jìn)行解析 提出URL和各種首部

查詢本地是否有可用副本 沒有就保存一份在本地

查看副本是否足夠新鮮 新鮮檢測(cè)

緩存會(huì)用新的首部和緩存的主題來(lái)構(gòu)建報(bào)文

發(fā)送報(bào)文給客戶端

日志記錄事務(wù)

文檔過期

Expires首部 HTTP/1.0 絕對(duì)的過期時(shí)間
Cache-Control:max-age首部 HTTP/1.1 定義文檔的最大使用期,最大的合法生存時(shí)間(單位:s)

服務(wù)器再驗(yàn)證

文檔過期了 并不代表其就不新鮮了 下一步就是服務(wù)器再驗(yàn)證 詢問文檔是否發(fā)生變化
If-Modified-Since首部
If-None-Match:tags首部

If-Modified-Since

當(dāng)瀏覽器第一次從服務(wù)端獲取數(shù)據(jù)響應(yīng)為200的時(shí)候,緩存會(huì)獲取Last-Modified字段。
再驗(yàn)證的時(shí)候,會(huì)在請(qǐng)求中加上If-Modified-Since字段,該字段的值就是Last-Modified字段的值。意思告訴服務(wù)端當(dāng)該對(duì)象在的Last-Modified時(shí)間在If-Modified-Since之后,我的緩存不新鮮給我新鮮的。 否則我的緩存就是新鮮的不需要再提供了。
服務(wù)端一般會(huì)有三中響應(yīng):

再驗(yàn)證命中:對(duì)象未修改 304 Not Modified(成功的再驗(yàn)證比緩存未命中要快,失敗的再驗(yàn)證幾乎和未命中速度一樣)

再驗(yàn)證未命中:對(duì)象修改了 200 OK

對(duì)象被刪除:404 Not Found 緩存也會(huì)刪除對(duì)應(yīng)副本

If-None-Match

但是也有一些特殊情況

文檔周期行重寫(后臺(tái)進(jìn)程寫入)實(shí)際包含數(shù)據(jù)一樣 內(nèi)容一樣 但是修改日期發(fā)生變化

文檔那個(gè)修改了 不過修改不重要 不需要緩存更新

有些服務(wù)器無(wú)法判斷其最后修改時(shí)間

有些服務(wù)器會(huì)在亞秒間隙發(fā)生變化 對(duì)于服務(wù)器來(lái)說(shuō) 以一秒為單位的粒度修改日期就不夠了
這種情況 采用的方法就是打tag 加班本號(hào)


If-None-Mathc可以是多個(gè),告訴服務(wù)器這些實(shí)體標(biāo)簽對(duì)應(yīng)的對(duì)象均有存在緩存副本

控制緩存的能力

服務(wù)器可以通過HTTP定義的幾種方式制定文檔緩存多久 按照優(yōu)先級(jí)

Cache-Control:public

Cache-Control:no-store

Cache-Control:no-cache

Cache-Control:must-revalidate

Cache-Control:max-age

Expires:date

不添加過期時(shí)間 讓瀏覽器自己判斷
這里no-store緩存對(duì)響應(yīng)進(jìn)行復(fù)制,緩存會(huì)轉(zhuǎn)發(fā)響應(yīng),刪除對(duì)象

no-cache實(shí)際上是可以存儲(chǔ)在本地緩存中的,只是在于原始服務(wù)器進(jìn)行新鮮驗(yàn)證之前 不能提供給客戶端使用
Cache-Control:max-age還有一種
Cache-Control:s-maxage=3600 僅針對(duì)的是共享緩存
max-age=0則是不使用緩存 每次進(jìn)入都要刷新
must-revalidate告訴緩存 在沒有跟服務(wù)器進(jìn)行新鮮驗(yàn)證的情況下 不允許提供

一個(gè)允許緩存的報(bào)文信息

一份不可以緩存的報(bào)文信息

命中率

緩存命中率:有緩存提供的請(qǐng)求占所有請(qǐng)求的比例
字節(jié)命中率:緩存字節(jié)占總字節(jié)比例

區(qū)別請(qǐng)求來(lái)自于緩存還是非緩存

對(duì)比響應(yīng)的Date字段 如果響應(yīng)的Date字段比當(dāng)前時(shí)間較早 則說(shuō)明來(lái)自緩存

代理與緩存 緩存的拓?fù)浣Y(jié)構(gòu)

私有緩存:瀏覽器緩存 (瀏覽器輸入chrome://cache/查看本地緩存)
共有代理緩存:緩存代理服務(wù)器

緩存的層次結(jié)構(gòu)

實(shí)際情況中通常是層次化緩存。較小緩存未命中的請(qǐng)求會(huì)被導(dǎo)向較大父緩存。
靠近客戶端的地方使用較小廉價(jià)緩存,在更高層次中,則逐步采用更大,功能更強(qiáng)的緩存,來(lái)裝載多用戶共享的文檔

網(wǎng)狀緩存內(nèi)容路由及對(duì)等緩存

網(wǎng)狀緩存也叫內(nèi)容路由器:代理緩存之間會(huì)議更加復(fù)雜的方式對(duì)話,做出動(dòng)態(tài)的緩存通信決定,決定于那個(gè)父緩存進(jìn)行通話,或者決定徹底繞開緩存,直接連接原始服務(wù)器
其包含以下功能:

根據(jù)URL在父緩存或原始服務(wù)器回見進(jìn)行動(dòng)態(tài)選擇

根據(jù)URL動(dòng)態(tài)選擇一個(gè)特定的父緩存

前往父緩存之前 在本地緩存中搜索一緩存的副本

允許其他緩存對(duì)其緩存的部分進(jìn)行訪問 但不允許流浪訪問緩存
緩存的復(fù)雜關(guān)系允許不同的組織互為對(duì)等實(shí)體,緩存共享(兄弟緩存)。HTPP不支持兄弟緩存,因此還有一些協(xié)議(HTCP)快播P2P?

總結(jié):與緩存相關(guān)的首部字段
首部字段 描述
Cache-Control public 響應(yīng)可以被緩存(默認(rèn))
-- private 響應(yīng)可以被瀏覽器緩存 但是不允許中繼緩存(CDN)緩存
-- no-store 禁止瀏覽器和中繼緩存進(jìn)行緩存
-- no-cache 瀏覽器可以緩存 但是未經(jīng)新鮮度檢查之前不能使用
-- max-age 一個(gè)以秒為單位數(shù)字,是一個(gè)相對(duì)時(shí)間。
Date+max-age則是絕對(duì)的最大過期時(shí)間。
Expires date HTTP/1.0標(biāo)準(zhǔn)的 絕對(duì)過期時(shí)間
Date date 只存在于response中 報(bào)文響應(yīng)時(shí)候的時(shí)間
Last-Modified date 只存在于response中 文檔最后被修改的時(shí)間
If-Modified-Since date 只存在于request中 新鮮度度檢驗(yàn)時(shí)候需要
查詢文檔是否在該時(shí)刻之后修改過
如果未修改過 更新緩存的文檔的Date,并且提供緩存副本
如果修改過 更新新的文檔,提供新的文檔
If-None-Match tag 只存在于request中 告訴服務(wù)端這些版本有對(duì)應(yīng)的緩存
Pragma no-cache等 HTTP/1.0時(shí)代的首部字段 功能相當(dāng)于Cache-Control

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/61868.html

相關(guān)文章

  • [ 學(xué)習(xí)路線 ] 學(xué)完這些去阿里!GOGOGO

    摘要:以下知識(shí)點(diǎn)是前輩師兄總結(jié)基礎(chǔ)語(yǔ)義化標(biāo)簽引進(jìn)了一些新的標(biāo)簽,特別注意等,注意的標(biāo)題結(jié)構(gòu)理解瀏覽器解析的過程,理解的樹形結(jié)構(gòu),及相應(yīng)理解標(biāo)簽在各個(gè)瀏覽器上的默認(rèn)樣式代理樣式,理解中的重置樣式表的概念理解等功能性標(biāo)簽理解標(biāo)簽,理解文件提交過程推薦 以下知識(shí)點(diǎn)是前輩師兄總結(jié) 1、HTML/HTML5基礎(chǔ): 1.0、語(yǔ)義化H5標(biāo)簽1.1、H5引進(jìn)了一些新的標(biāo)簽,特別注意article...

    zhaochunqi 評(píng)論0 收藏0
  • [ 學(xué)習(xí)路線 ] 學(xué)完這些去阿里!GOGOGO

    摘要:以下知識(shí)點(diǎn)是前輩師兄總結(jié)基礎(chǔ)語(yǔ)義化標(biāo)簽引進(jìn)了一些新的標(biāo)簽,特別注意等,注意的標(biāo)題結(jié)構(gòu)理解瀏覽器解析的過程,理解的樹形結(jié)構(gòu),及相應(yīng)理解標(biāo)簽在各個(gè)瀏覽器上的默認(rèn)樣式代理樣式,理解中的重置樣式表的概念理解等功能性標(biāo)簽理解標(biāo)簽,理解文件提交過程推薦 以下知識(shí)點(diǎn)是前輩師兄總結(jié) 1、HTML/HTML5基礎(chǔ): 1.0、語(yǔ)義化H5標(biāo)簽1.1、H5引進(jìn)了一些新的標(biāo)簽,特別注意article...

    learn_shifeng 評(píng)論0 收藏0
  • 如果想成為一名頂尖的前端,這份書單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來(lái),自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說(shuō)的一些書,基本上按照由淺入深來(lái)介紹...

    callmewhy 評(píng)論0 收藏0
  • 如果想成為一名頂尖的前端,這份書單你一定要收藏!

    摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來(lái),自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說(shuō)的一些書,基本上按照由淺入深來(lái)介紹...

    Scliang 評(píng)論0 收藏0

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<