在控制臺資源加載大小列中,我們可以看到機(jī)架和資源的大小。如果在本地直接讀取緩存(from memory cache來自內(nèi)存緩存)(frommdiskcache來自磁盤緩存)
Expires:設(shè)置瀏覽器的緩存時間。時間是的時間。從設(shè)定值可以看出這是一個日期。當(dāng)瀏覽器收到響應(yīng)時,它將檢查是否有任何包含緩存頭信息和資源的expires字段。再次請求時,它將檢查緩存時間是否已過。否則,它將在緩存中取出,并再次被請求。
緩存控制:更多加載值
Max age=XXX:緩存內(nèi)容將在XXX秒后過期,這是一個時間間隔相對時間。Public:將緩存所有內(nèi)容(客戶端和代理服務(wù)器都可以緩存)private:內(nèi)容將僅緩存在私有緩存中(只有客戶端可以緩存,代理服務(wù)器不能緩存)。無緩存:必須與服務(wù)器確認(rèn)返回的響應(yīng)是否已更改,然后才能使用響應(yīng)滿足對同一URL的后續(xù)請求。因此,如果存在適當(dāng)?shù)纳矸蒡炞C令牌(Etag),則緩存不會啟動往返通信來驗證緩存的響應(yīng)。如果未更改資源,則無法避免下載任何存儲:所有內(nèi)容都不會緩存,或者必須在臨時Internet文件中重新驗證/代理重新驗證:如果緩存的內(nèi)容失敗,則必須將請求發(fā)送到服務(wù)器/代理進(jìn)行重新驗證
服務(wù)器使用if modified since(last modified)和if none match(Etag)屬性的值來確定緩存是否無效。
協(xié)商緩存:當(dāng)瀏覽器確定它不是強(qiáng)緩存時,它將向服務(wù)器發(fā)送一個請求,以確定它是否是協(xié)商緩存。如果是,服務(wù)器返回304notmodified,瀏覽器從緩存加載。什么是協(xié)商緩存?
當(dāng)瀏覽器次向服務(wù)器發(fā)送請求時,服務(wù)器返回資源,并將后一次修改的字段添加到responseheader,指示上次修改資源的時間。當(dāng)瀏覽器再次請求此資源時,if modified since字段將添加到請求頭中。如果兩個字段相同,則表示資源未被修改,返回304not modified。瀏覽器從緩存獲取資源。如果這兩個字段不同,則表示資源已被修改,服務(wù)器將正常返回資源。