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

資訊專欄INFORMATION COLUMN

【譯】-【緩存】最佳實踐

xavier / 1027人閱讀

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

本文譯自: 這里

本文已同步到我的博客

引言

緩存利用得當?shù)脑?,有很大益處,比如?jié)省帶寬,降低服務器壓力等,但是很多網(wǎng)站沒能夠很好地利用緩存,造成一些相互依賴的資源出現(xiàn)不同步的情況。

關于緩存的處理方案主要可以分為以下兩種:

方案一:資源內容保持不變+超長的max-age
Cache-Control: max-age=31536000

這個url對應的資源永遠保持不變

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

對于沒有超過max-age的緩存內容可以直接使用,而不必再向服務器請求

如下圖所示:

在這種情況下,一個url對應的資源應該是一直保持不變的,如果我們想更新資源,只能通過更改url的方式來實現(xiàn):



…

可以看到,url中帶有一串碼,該碼是與資源內容相關的,可以是版本號,修改日期,或者文件內容的hash值。

大部分服務器端的框架會有一些工具來讓這件事情變得簡單,

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

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

這個url對應的資源是可變的

本地緩存只有在服務器驗證過是最新的之后才可以使用

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

如下圖所示:

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

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

這種設置總是會需要一次網(wǎng)絡請求的(來驗證本地的緩存資源是否為最新),因此相比于第一種方式,增加了網(wǎng)絡請求。

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

轉載請注明本文地址:http://systransis.cn/yun/61958.html

相關文章

  • 緩存最佳實踐以及max-age的陷阱

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

    mist14 評論0 收藏0
  • PHPer書單

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

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

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

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

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

    Joyven 評論0 收藏0

發(fā)表評論

0條評論

xavier

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<