国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

nginx - 瀏覽器是如何處理服務(wù)器返回的expires和Cache-Control參數(shù)的

瀏覽:79日期:2024-06-22 18:33:45

問題描述

nginx上配置了

expires 1d;

請求相應(yīng)資源時返回

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

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

Status Code:200 OK (from cache)

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

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

8-12號更新

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

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

關(guān)閉etag,關(guān)閉last-modifed;僅僅開啟5天的緩存時間。response headers返回如下;

Accept-Ranges:bytesCache-Control:max-age=432000Connection:keep-aliveContent-Length:826Content-Type:text/cssDate:Fri, 12 Aug 2016 05:52:24 GMTExpires:Wed, 17 Aug 2016 05:52:24 GMTServer:nginx/1.4.1

請求該css文件時,瀏覽器緩存失效,服務(wù)器每次返回 200,并且在body中返回css;看起來expires 這個參數(shù)并沒有用

問題解答

回答1:

已經(jīng)解決了,我理解的沒錯,Expires的確是用來控制緩存過期時間的,沒有過期時返回200 (fromcache)但重點(diǎn)是我的訪問方式不對,Expires/Cache-Control對f5刷新無效。正確的方式是地址欄確認(rèn)直接訪問。nginx - 瀏覽器是如何處理服務(wù)器返回的expires和Cache-Control參數(shù)的

參考博客http://www.cnblogs.com/skynet...

回答2:

你應(yīng)該是兩個功能都開了,Last-Modified會優(yōu)先被看,Nginx應(yīng)該是默認(rèn)開Last-Modified,或者我記錯了

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

回答3:

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

相關(guān)文章:
主站蜘蛛池模板: 西平县| 连平县| 博野县| 松溪县| 河源市| 读书| 金沙县| 怀仁县| 南安市| 新邵县| 渝北区| 宁城县| 寿光市| 米泉市| 安陆市| 鹿邑县| 渝北区| 镇远县| 鄂尔多斯市| 嘉荫县| 吉木乃县| 玉门市| 青铜峡市| 永丰县| 龙南县| 平安县| 报价| 镇雄县| 武山县| 宁蒗| 北宁市| 曲水县| 奉节县| 德化县| 定襄县| 黄冈市| 灵台县| 双辽市| 德令哈市| 彭山县| 石柱|