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

資訊專欄INFORMATION COLUMN

http緩存機(jī)制總結(jié)和文章推薦

Acceml / 1086人閱讀

摘要:狀態(tài)碼,可避免請(qǐng)求發(fā)送到服務(wù)器??梢酝ㄟ^標(biāo)識(shí)文件版本名加長緩存時(shí)間的方式來減少響應(yīng)。

推薦閱讀:
伯樂在線——HTTP 緩存機(jī)制一二三
IMWeb前端博客——HTTP緩存控制小結(jié)
IT筆錄——http消息頭

http緩存機(jī)制
關(guān)鍵頭部字段

cache-control、 Pragma

if-Match、if-None-Match

if-Modified-Since、if-Unmodified-Since

ETag

Expires、Last-Modified

Pragma

http1.0可用,現(xiàn)在為了向下兼容,也設(shè)置該頭部,只有一個(gè)值:no-cache禁用緩存

Expires

設(shè)置緩存時(shí)間(該時(shí)間相對(duì)于服務(wù)器),接受一個(gè)GMT(格林尼治時(shí)間),用來告訴瀏覽器過期時(shí)間,如果還沒有過這個(gè)時(shí)間則不發(fā)送請(qǐng)求。

Expires: Sun Jul 15 2018 19:13:07 GMT
cache-control

也可用來設(shè)置緩存時(shí)間,http1.1與http1.0可用,三者優(yōu)先級(jí):

Pragma > Cache-Control > Expires

可設(shè)置多個(gè)值,比如常用的:no-cache, max-age, public, private

Last-Modified

接受一個(gè)格林尼治時(shí)間,說明資源的最近一次的修改時(shí)間,該字段的作用是當(dāng)某個(gè)資源保存的緩存時(shí)間過期了,但服務(wù)器并沒有更新過這個(gè)資源,那么可以告訴客戶端此資源沒有更新,可以獲取緩存中的內(nèi)容(返回304,不返回實(shí)體內(nèi)容)

if-Modified-Since

Last-Modified的值會(huì)在下一次的請(qǐng)求中通過if-Modified-Since傳遞給服務(wù)器,如果它的值和此時(shí)服務(wù)器的Last-Modified值一致,說明沒有修改,服務(wù)器返回304。如果不一致則當(dāng)作正常請(qǐng)求處理,返回資源和200狀態(tài)碼。

ETag

服務(wù)端資源有可能被更新了,但是實(shí)際內(nèi)容并沒有改變。但是這樣依然會(huì)引起Last-Modified的更新,服務(wù)器給客戶端返回沒有任何改變的內(nèi)容。為了解決這個(gè)問題,引入了ETag。用于http1.1。
服務(wù)器為資源生成一個(gè)唯一的字符串,如通過md5編碼。只要不變,生成的字符串就不變。在客戶端請(qǐng)求資源的時(shí)候,將該ETag一起返回給客戶端,客戶端保留該ETag,下次請(qǐng)求的時(shí)候帶上。然后比較ETag,相同則表示內(nèi)容相同,返回304;不同,返回資源和200狀態(tài)碼。

If-None-Match

ETag的值會(huì)通過if-None-Match頭部傳遞給服務(wù)器,然后服務(wù)器比較ETag的值,相同則表示內(nèi)容相同,返回304;不同,返回資源和200狀態(tài)碼。

另外的 if-None-Match,if-Unmodified-Since

他們不是用來實(shí)現(xiàn)緩存策略的,而是用來優(yōu)化并發(fā)控制,他們的作用是,使得當(dāng)前請(qǐng)求成為條件式請(qǐng)求:只有當(dāng)資源在指定的時(shí)間之后沒有進(jìn)行過修改的情況下,服務(wù)器才會(huì)返回請(qǐng)求的資源,或是接受 POST 或其他 non-safe 方法的請(qǐng)求。例如在某些場(chǎng)景:假如在原始副本獲取之后,服務(wù)器上所存儲(chǔ)的文檔已經(jīng)被修改,那么對(duì)其作出的編輯會(huì)被拒絕提交。

總結(jié)

Expires / Cache-Control用來設(shè)置緩存時(shí)間,即資源有效時(shí)間。狀態(tài)碼 200(from cache),可避免請(qǐng)求發(fā)送到服務(wù)器。

Last-Modified / ETag用來判斷資源是否被修改了。狀態(tài)碼 304(not change),可避免傳輸相同的資源內(nèi)容,造成帶寬和時(shí)間的浪費(fèi)。

使用原則

需要兼容HTTP1.0的時(shí)候需要使用Expires,不然可以考慮直接使用Cache-Control

需要處理一秒內(nèi)多次修改的情況,或者其他Last-Modified處理不了的情況,才使用ETag,否則使用Last-- Modified。

對(duì)于所有可緩存資源,需要指定一個(gè)Expires或Cache-Control,同時(shí)指定Last-Modified或者Etag。

可以通過標(biāo)識(shí)文件版本名、加長緩存時(shí)間的方式來減少304響應(yīng)。

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

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

相關(guān)文章

  • 前端開發(fā)周報(bào): CSS 布局方式與JavaScript數(shù)據(jù)結(jié)構(gòu)算法

    摘要:如果沒有學(xué)習(xí)過計(jì)算機(jī)科學(xué)的程序員,當(dāng)我們?cè)谔幚硪恍﹩栴}時(shí),比較熟悉的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,數(shù)組無疑是一個(gè)很好的選擇。 showImg(https://segmentfault.com/img/bVTSjt?w=400&h=300); 1、常見 CSS 布局方式詳見: 一些常見的 CSS 布局方式梳理,涉及 Flex 布局、Grid 布局、圣杯布局、雙飛翼布局等。http://cherryb...

    huhud 評(píng)論0 收藏0
  • 前端開發(fā)周報(bào): CSS 布局方式與JavaScript數(shù)據(jù)結(jié)構(gòu)算法

    摘要:如果沒有學(xué)習(xí)過計(jì)算機(jī)科學(xué)的程序員,當(dāng)我們?cè)谔幚硪恍﹩栴}時(shí),比較熟悉的數(shù)據(jù)結(jié)構(gòu)就是數(shù)組,數(shù)組無疑是一個(gè)很好的選擇。 showImg(https://segmentfault.com/img/bVTSjt?w=400&h=300); 1、常見 CSS 布局方式詳見: 一些常見的 CSS 布局方式梳理,涉及 Flex 布局、Grid 布局、圣杯布局、雙飛翼布局等。http://cherryb...

    ?xiaoxiao, 評(píng)論0 收藏0
  • 2017文章總結(jié)

    摘要:歡迎來我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動(dòng)及頁面渲染優(yōu)化理論寫法對(duì)壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動(dòng) 歡迎來我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動(dòng) scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...

    dailybird 評(píng)論0 收藏0
  • 2017文章總結(jié)

    摘要:歡迎來我的個(gè)人站點(diǎn)性能優(yōu)化其他優(yōu)化瀏覽器關(guān)鍵渲染路徑開啟性能優(yōu)化之旅高性能滾動(dòng)及頁面渲染優(yōu)化理論寫法對(duì)壓縮率的影響唯快不破應(yīng)用的個(gè)優(yōu)化步驟進(jìn)階鵝廠大神用直出實(shí)現(xiàn)網(wǎng)頁瞬開緩存網(wǎng)頁性能管理詳解寫給后端程序員的緩存原理介紹年底補(bǔ)課緩存機(jī)制優(yōu)化動(dòng) 歡迎來我的個(gè)人站點(diǎn) 性能優(yōu)化 其他 優(yōu)化瀏覽器關(guān)鍵渲染路徑 - 開啟性能優(yōu)化之旅 高性能滾動(dòng) scroll 及頁面渲染優(yōu)化 理論 | HTML寫法...

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

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

0條評(píng)論

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