国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【譯】-【緩存】最佳實(shí)踐

xavier / 990人閱讀

摘要:大部分服務(wù)器端的框架會(huì)有一些工具來(lái)讓這件事情變得簡(jiǎn)單,可是,這種方式并不適用于一些文章或者博客之類的網(wǎng)站,這些網(wǎng)站的不能通過(guò)版本號(hào)來(lái)管理,而且內(nèi)容也是經(jīng)常需要改變的。指不允許緩存。

本文譯自: 這里

本文已同步到我的博客

引言

緩存利用得當(dāng)?shù)脑挘泻艽笠嫣帲热绻?jié)省帶寬,降低服務(wù)器壓力等,但是很多網(wǎng)站沒(méi)能夠很好地利用緩存,造成一些相互依賴的資源出現(xiàn)不同步的情況。

關(guān)于緩存的處理方案主要可以分為以下兩種:

方案一:資源內(nèi)容保持不變+超長(zhǎng)的max-age
Cache-Control: max-age=31536000

這個(gè)url對(duì)應(yīng)的資源永遠(yuǎn)保持不變

瀏覽器/CDN可以將該資源緩存很久

對(duì)于沒(méi)有超過(guò)max-age的緩存內(nèi)容可以直接使用,而不必再向服務(wù)器請(qǐng)求

如下圖所示:

在這種情況下,一個(gè)url對(duì)應(yīng)的資源應(yīng)該是一直保持不變的,如果我們想更新資源,只能通過(guò)更改url的方式來(lái)實(shí)現(xiàn):



…

可以看到,url中帶有一串碼,該碼是與資源內(nèi)容相關(guān)的,可以是版本號(hào),修改日期,或者文件內(nèi)容的hash值。

大部分服務(wù)器端的框架會(huì)有一些工具來(lái)讓這件事情變得簡(jiǎn)單,

可是,這種方式并不適用于一些文章或者博客之類的網(wǎng)站,這些網(wǎng)站的url不能通過(guò)版本號(hào)來(lái)管理,而且內(nèi)容也是經(jīng)常需要改變的。

方案二:內(nèi)容可變,每次都需要服務(wù)器再次校驗(yàn)(revalidated)
Cache-Control: no-cache

這個(gè)url對(duì)應(yīng)的資源是可變的

本地緩存只有在服務(wù)器驗(yàn)證過(guò)是最新的之后才可以使用

(譯者注:可參照304場(chǎng)景)

如下圖所示:

注意:no-cache并不是指不緩存,而是指在使用緩存之前,必須首先向服務(wù)器端確認(rèn)資源是否為最新。
no-store指不允許緩存。同樣的must-revalidate并非是指必須重新驗(yàn)證,它的意思是,只有當(dāng)本地的緩存已經(jīng)超過(guò)最長(zhǎng)緩存時(shí)間時(shí),才需要重新驗(yàn)證。

在這種場(chǎng)景下,可以在響應(yīng)頭中添加ETag或者Last-Modified。這樣,當(dāng)客戶端在下次請(qǐng)求的時(shí)候,就會(huì)在請(qǐng)求頭中帶上這些信息,分別對(duì)應(yīng)的是If-None-MatchIf-Modified-Since。服務(wù)器端根據(jù)該標(biāo)識(shí)判斷資源是否為最新的,如果是,則返回304狀態(tài)碼。

這種設(shè)置總是會(huì)需要一次網(wǎng)絡(luò)請(qǐng)求的(來(lái)驗(yàn)證本地的緩存資源是否為最新),因此相比于第一種方式,增加了網(wǎng)絡(luò)請(qǐng)求。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/61958.html

相關(guān)文章

  • 緩存最佳實(shí)踐以及max-age的陷阱

    摘要:可能會(huì)延長(zhǎng)這些的壽命假設(shè)你有以下的這個(gè)緩存了和如果命中了緩存,就從緩存中取,否則發(fā)起網(wǎng)絡(luò)請(qǐng)求如果我們更改了,我們會(huì)修改中的版本號(hào),觸發(fā)的更新。 本文翻譯自:https://jakearchibald.com/201...這是一篇2016年的老文章。作者是Chrome瀏覽器的開(kāi)發(fā)成員。 本文首發(fā)于公眾號(hào):符合預(yù)期的CoyPan 使用正確的緩存可以帶來(lái)巨大的頁(yè)面性能上的收益,節(jié)省帶寬,減...

    mist14 評(píng)論0 收藏0
  • PHPer書(shū)單

    摘要:想提升自己,還得多看書(shū)多看書(shū)多看書(shū)下面是我收集到的一些程序員應(yīng)該看得書(shū)單及在線教程,自己也沒(méi)有全部看完。共勉吧當(dāng)然,如果你有好的書(shū)想分享給大家的或者覺(jué)得書(shū)單不合理,可以去通過(guò)進(jìn)行提交。講師溫銘,軟件基金會(huì)主席,最佳實(shí)踐作者。 想提升自己,還得多看書(shū)!多看書(shū)!多看書(shū)!下面是我收集到的一些PHP程序員應(yīng)該看得書(shū)單及在線教程,自己也沒(méi)有全部看完。共勉吧!當(dāng)然,如果你有好的書(shū)想分享給大家的或者...

    jimhs 評(píng)論0 收藏0
  • 正在失業(yè)中的《課多周刊》(第3期)

    摘要:正在失業(yè)中的課多周刊第期我們的微信公眾號(hào),更多精彩內(nèi)容皆在微信公眾號(hào),歡迎關(guān)注。若有幫助,請(qǐng)把課多周刊推薦給你的朋友,你的支持是我們最大的動(dòng)力。是一種禍害譯本文淺談了在中關(guān)于的不好之處。淺談超時(shí)一運(yùn)維的排查方式。 正在失業(yè)中的《課多周刊》(第3期) 我們的微信公眾號(hào):fed-talk,更多精彩內(nèi)容皆在微信公眾號(hào),歡迎關(guān)注。 若有幫助,請(qǐng)把 課多周刊 推薦給你的朋友,你的支持是我們最大的...

    robin 評(píng)論0 收藏0
  • 正在失業(yè)中的《課多周刊》(第3期)

    摘要:正在失業(yè)中的課多周刊第期我們的微信公眾號(hào),更多精彩內(nèi)容皆在微信公眾號(hào),歡迎關(guān)注。若有幫助,請(qǐng)把課多周刊推薦給你的朋友,你的支持是我們最大的動(dòng)力。是一種禍害譯本文淺談了在中關(guān)于的不好之處。淺談超時(shí)一運(yùn)維的排查方式。 正在失業(yè)中的《課多周刊》(第3期) 我們的微信公眾號(hào):fed-talk,更多精彩內(nèi)容皆在微信公眾號(hào),歡迎關(guān)注。 若有幫助,請(qǐng)把 課多周刊 推薦給你的朋友,你的支持是我們最大的...

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

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

0條評(píng)論

xavier

|高級(jí)講師

TA的文章

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