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

資訊專欄INFORMATION COLUMN

Cache-Control、ETag和過時(shí)的Expires

X_AirDu / 3486人閱讀

摘要:究其原因是因?yàn)橐彩窃O(shè)置時(shí)間來做期限,但是它設(shè)置的是到期時(shí)間,并且要是格式的時(shí)間,最致命的是它的到期時(shí)間是依據(jù)系統(tǒng)時(shí)間來看的,如果系統(tǒng)時(shí)間錯(cuò)誤超過了的到期時(shí)間,那么就會(huì)請(qǐng)求不到資源。

前記

HTTP緩存是web性能優(yōu)化的一個(gè)常識(shí),目的是當(dāng)你第二次請(qǐng)求時(shí),將JS、CSS、的請(qǐng)求速度加快,但是html卻不能設(shè)置Cache-Control,這是為什么,可以想一想

Cache-Control 如何用
response.setHeader("Cache-Control","max-age=315360000")

響應(yīng)設(shè)置響應(yīng)頭,max-age是設(shè)置緩存停留時(shí)間,單位為秒,從你接收到那個(gè)響應(yīng)開始計(jì)時(shí),一般是設(shè)置10年或者1年

功能

設(shè)置Cache-Control可以在一段時(shí)間內(nèi)不訪問服務(wù)器,直接用本地內(nèi)存或者硬盤中獲取響應(yīng),因此極大的加快了訪問速度,關(guān)鍵在于不會(huì)發(fā)送HTTP請(qǐng)求。

更新資源

當(dāng)緩存那么久,那如果緩存資源更新了怎么辦

可以添加查詢參數(shù),如?v=...這樣就可以更新緩存了

還有就是可以在入口html文件處把url變一下,和以前的都不一樣,也可以更新緩存

還有就是在文件名前面生成一串字符,變更文件名,也可以更新緩存

ETag

說到ETag就不得不提md5摘要算法,這個(gè)算法可以計(jì)算一個(gè)文件,然后生成一串字符,相同文件內(nèi)容生成的字符串是一樣的,如果內(nèi)容不相同生成的字符串就會(huì)不一樣,并且內(nèi)容差別越小,字符串差別越大

如何用
response.setHeader("ETag", fileMd5)

fileMd5就是md5生成的字符串

功能

設(shè)置了ETag后,以后每次訪問服務(wù)器都要設(shè)置頭If-None-Match來帶上那串字符串,資源未變更,服務(wù)器就會(huì)返回304,和Cache-Control不同就是,ETag還是會(huì)請(qǐng)求,不過資源不變的話,響應(yīng)體是空的。

更新資源

這就非常簡單了,當(dāng)服務(wù)器更換了一個(gè)資源,那生成的字符串就會(huì)不一樣,當(dāng)If-None-Match帶著原來的字符串來比較時(shí),發(fā)現(xiàn)字符串不一樣,那就會(huì)下載新的資源

過時(shí)的Expires

Expires也是一個(gè)響應(yīng)頭,功能和Cache-Control差不多,但是現(xiàn)在逐漸被淘汰了,并且如果在Cache-Control響應(yīng)頭設(shè)置了 "max-age" 或者 "s-max-age" 指令,那么Expires頭會(huì)被忽略。
究其原因是因?yàn)?b>Expires也是設(shè)置時(shí)間來做期限,但是它設(shè)置的是到期時(shí)間,并且要是GMT格式的時(shí)間,最致命的是它的到期時(shí)間是依據(jù)系統(tǒng)時(shí)間來看的,如果系統(tǒng)時(shí)間錯(cuò)誤超過了Expires的到期時(shí)間,那么就會(huì)請(qǐng)求不到資源。

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

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

相關(guān)文章

  • 談?wù)凥TTP緩存

    摘要:但遺憾的是,該響應(yīng)已經(jīng)過期。大多數(shù)情況下,不是必需的,因?yàn)槊鞔_的緩存信息例如已表示響應(yīng)是可以緩存的。表示響應(yīng)只為單個(gè)用戶緩存,因此不允許中間緩存對(duì)其進(jìn)行緩存。這樣,即使文件緩存了,也可以得到更新。 在上一篇文章中,我們講到造成網(wǎng)絡(luò)性能下降的主要原因是延遲,而非帶寬。那么為了更好地讓我們的網(wǎng)站能快速響應(yīng)用戶的請(qǐng)求,我們就必須對(duì)一些常用資源進(jìn)行緩存,以免每次用戶訪問都請(qǐng)求一遍,這也是網(wǎng)站性...

    xiaodao 評(píng)論0 收藏0
  • 頁面性能優(yōu)化辦法有哪些?

    摘要:那我們?nèi)绾蝺?yōu)化頁面性能,提高頁面加載速度呢這是本文主要要探討的問題,然而性能優(yōu)化是個(gè)綜合性問題,沒有標(biāo)準(zhǔn)答案,想要面面俱到羅列出來,并非易事。三利用瀏覽器緩存對(duì)于應(yīng)用來說,緩存是提升頁面性能同時(shí)減少服務(wù)器壓力的利器。 引子 互聯(lián)網(wǎng)有一項(xiàng)著名的8秒原則。用戶在訪問Web網(wǎng)頁時(shí),如果時(shí)間超過8秒就會(huì)感到不耐煩,如果加載需要太長時(shí)間,他們就會(huì)放棄訪問。大部分用戶希望網(wǎng)頁能在2秒之內(nèi)就完成加載...

    MageekChiu 評(píng)論0 收藏0
  • 頁面性能優(yōu)化辦法有哪些?

    摘要:那我們?nèi)绾蝺?yōu)化頁面性能,提高頁面加載速度呢這是本文主要要探討的問題,然而性能優(yōu)化是個(gè)綜合性問題,沒有標(biāo)準(zhǔn)答案,想要面面俱到羅列出來,并非易事。三利用瀏覽器緩存對(duì)于應(yīng)用來說,緩存是提升頁面性能同時(shí)減少服務(wù)器壓力的利器。 引子 互聯(lián)網(wǎng)有一項(xiàng)著名的8秒原則。用戶在訪問Web網(wǎng)頁時(shí),如果時(shí)間超過8秒就會(huì)感到不耐煩,如果加載需要太長時(shí)間,他們就會(huì)放棄訪問。大部分用戶希望網(wǎng)頁能在2秒之內(nèi)就完成加載...

    raoyi 評(píng)論0 收藏0
  • 頁面性能優(yōu)化辦法有哪些?

    摘要:那我們?nèi)绾蝺?yōu)化頁面性能,提高頁面加載速度呢這是本文主要要探討的問題,然而性能優(yōu)化是個(gè)綜合性問題,沒有標(biāo)準(zhǔn)答案,想要面面俱到羅列出來,并非易事。三利用瀏覽器緩存對(duì)于應(yīng)用來說,緩存是提升頁面性能同時(shí)減少服務(wù)器壓力的利器。 引子 互聯(lián)網(wǎng)有一項(xiàng)著名的8秒原則。用戶在訪問Web網(wǎng)頁時(shí),如果時(shí)間超過8秒就會(huì)感到不耐煩,如果加載需要太長時(shí)間,他們就會(huì)放棄訪問。大部分用戶希望網(wǎng)頁能在2秒之內(nèi)就完成加載...

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

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

0條評(píng)論

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