亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

nginx - 瀏覽器是如何處理伺服器傳回的expires和Cache-Control參數(shù)的
ringa_lee
ringa_lee 2017-05-16 17:15:19
0
3
736

nginx上配置了

expires 1d;

請(qǐng)求對(duì)應(yīng)資源時(shí)回傳

Cache-Control:max-age=86400
Expires:Thu, 11 Aug 2016 12:16:43 GMT

按照我的理解,該資源應(yīng)該在瀏覽器快取保持一天,在快取期內(nèi)第二次刷新時(shí)應(yīng)該不需要發(fā)送請(qǐng)求而直接返回

Status Code:200 OK (from cache)

而事實(shí)上,每次請(qǐng)求伺服器會(huì)透過etag/Last-Modified對(duì)比來處理回傳結(jié)果,如果request header 回傳的If-Modified-Since/If-None-Match與現(xiàn)有的etag/Last-Modified不匹配,返回200刷新資源,如果匹配,返回304。

那麼Expires/ Cache-Control 存在的意義是什麼

8-12號(hào)更新

在nginx上進(jìn)行如下設(shè)定

 add_header Last-Modified "";
 expires      5d;
 etag off;

關(guān)閉etag,關(guān)閉last-modifed;僅開啟5天的快取時(shí)間。
response headers回傳如下;

Accept-Ranges:bytes
Cache-Control:max-age=432000
Connection:keep-alive
Content-Length:826
Content-Type:text/css
Date:Fri, 12 Aug 2016 05:52:24 GMT
Expires:Wed, 17 Aug 2016 05:52:24 GMT
Server:nginx/1.4.1

請(qǐng)求該css檔案時(shí),瀏覽器快取失效,伺服器每次回傳 200,並且在body中回傳css;
看起來expires 這個(gè)參數(shù)並沒有用

ringa_lee
ringa_lee

ringa_lee

全部回覆(3)
伊謝爾倫

已經(jīng)解決了,我理解的沒錯(cuò),Expires的確是用來控制快取過期時(shí)間的,沒有過期時(shí)返回200 (fromcache)
但重點(diǎn)是我的存取方式不對(duì),Expires/Cache-Control對(duì)f5刷新無效。正確的方式是網(wǎng)址列確認(rèn)直接存取。

參考部落格
http://www.cnblogs.com/skynet...

漂亮男人

你應(yīng)該是兩個(gè)功能都開了,Last-Modified會(huì)優(yōu)先被看,Nginx應(yīng)該是預(yù)設(shè)開Last-Modified,或是我記錯(cuò)了

一般情況下,靜態(tài)資源如圖片、CSS用Expires/ Cache-Control,因?yàn)楦淖兎浅I?。而改?dòng)較多的可以用Last-Modified,確保瀏覽器拿到最新版本

某草草

樓主是在nginx.conf的那一塊配置的。我配置expires沒有生效。但是gzip壓縮的生效了...

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板