author:咔咔
瀏覽器緩存:
HTTP協(xié)議定義的緩存機(jī)制(如:Expires;Cache-control等)
瀏覽器無緩存:
請(qǐng)求步驟
瀏覽器有緩存:
請(qǐng)求步驟
檢驗(yàn)過期機(jī)制:
?
Expires是在http1.0版本,Cache-Control(max-age)是在http1.1版本
max-age過期時(shí)間
Etag跟last-Modified是本地緩存失效后,在服務(wù)端檢驗(yàn)的倆個(gè)參數(shù),last-Modified后跟的具體時(shí)間,Etag后跟的是一個(gè)報(bào)文,這個(gè)報(bào)文在本地跟服務(wù)端都會(huì)產(chǎn)生一份
由于last-Modified的時(shí)間只精確到秒,所以有時(shí)會(huì)存在在秒內(nèi)的數(shù)據(jù)更新,這個(gè)時(shí)候就需要Etag這個(gè)參數(shù)
這倆個(gè)參數(shù)都是會(huì)在本地跟服務(wù)端同時(shí)產(chǎn)生,當(dāng)用戶在次請(qǐng)求的時(shí)候,會(huì)拿著倆個(gè)參數(shù)做對(duì)比,如果相同會(huì)直接返回,并且狀態(tài)是304
實(shí)現(xiàn)過程
場景演示:
// 配置語法
添加Cache-Control、Expires頭
Syntax:expires [modifies] time;
expires epoch | max | off
Default:expires off;
Context:http,sercver,localtion,if in location
我們在服務(wù)器定義了一個(gè)kaka.html文件
現(xiàn)在訪問一下
我們可以看到訪問狀態(tài)是200
下來我們配置一下nginx.conf
再來測試
這個(gè)時(shí)候就已經(jīng)成功了
本文摘自 :https://blog.51cto.com/k