在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

nginx中強(qiáng)緩存和協(xié)商緩存介紹

馬哥Linux運(yùn)維 ? 來源:博客園dashery ? 2025-04-01 16:01 ? 次閱讀

一、強(qiáng)緩存(Strong Cache)

1.定義

? 強(qiáng)緩存直接告訴瀏覽器:在緩存過期前,無需與服務(wù)器通信,直接使用本地緩存。
? 由服務(wù)器通過響應(yīng)頭Cache-ControlExpires控制。

2.響應(yīng)頭

?Cache-Control: max-age=3600
表示資源在3600 秒(1小時(shí))內(nèi)有效(優(yōu)先級(jí)高于Expires)。
?Expires: Thu, 31 Dec 2030 2359 GMT
指定一個(gè)絕對(duì)過期時(shí)間(依賴于客戶端本地時(shí)間,可能存在誤差)。

3.Nginx 配置示例

location/static/ {
 # 設(shè)置強(qiáng)緩存:1年內(nèi)有效
 add_headerCache-Control"public, max-age=31536000";
 expires1y;
}

4.行為

? 瀏覽器首次請(qǐng)求資源時(shí),服務(wù)器返回資源并附帶緩存頭。
? 后續(xù)請(qǐng)求時(shí),瀏覽器直接讀取本地緩存(狀態(tài)碼200 (from disk cache)),不發(fā)送請(qǐng)求到服務(wù)器

5.適用場(chǎng)景

? 靜態(tài)資源(如 CSS、JS、圖片、字體文件)等長(zhǎng)期不變的資源。

二、協(xié)商緩存(協(xié)商緩存,Weak Cache)

1.定義

? 協(xié)商緩存要求瀏覽器每次向服務(wù)器驗(yàn)證緩存是否過期,若未過期則返回304 Not Modified,繼續(xù)使用本地緩存。
? 由服務(wù)器通過響應(yīng)頭Last-ModifiedETag控制。

2.響應(yīng)頭

?Last-Modified: Wed, 21 Oct 2023 0700 GMT
表示資源最后修改時(shí)間(精度為秒,可能因時(shí)間同步問題失效)。
?ETag: "5d8c72a5-264"
資源的唯一標(biāo)識(shí)符(哈希值或版本號(hào)),精度更高。

3.Nginx 配置示例

location/dynamic/ {
 # 啟用協(xié)商緩存(默認(rèn)已支持,無需顯式配置)
 add_headerLast-Modified"";
 etagon;
}

4.行為

瀏覽器首次請(qǐng)求資源時(shí),服務(wù)器返回資源并附帶Last-Modified或ETag。

后續(xù)請(qǐng)求時(shí),瀏覽器通過以下請(qǐng)求頭驗(yàn)證緩存:
?If-Modified-Since: [Last-Modified值]
向服務(wù)器詢問資源是否在指定時(shí)間后修改過。
?If-None-Match: [ETag值]
向服務(wù)器驗(yàn)證資源的ETag是否變化。

若資源未修改,服務(wù)器返回304 Not Modified,瀏覽器繼續(xù)使用緩存;若已修改,返回新資源(狀態(tài)碼200)。

5.適用場(chǎng)景

? 頻繁更新的資源(如 HTML 頁(yè)面、動(dòng)態(tài) API 響應(yīng))。

三、關(guān)鍵區(qū)別

特性 強(qiáng)緩存 協(xié)商緩存
通信成本 無網(wǎng)絡(luò)請(qǐng)求(直接讀緩存) 需發(fā)送請(qǐng)求驗(yàn)證緩存
響應(yīng)狀態(tài)碼 200 (from disk cache) 304 Not Modified
優(yōu)先級(jí) 優(yōu)先于協(xié)商緩存 強(qiáng)緩存過期后觸發(fā)
適用資源 長(zhǎng)期不變的靜態(tài)資源 頻繁更新的動(dòng)態(tài)資源

四、Nginx 最佳實(shí)踐

混合使用兩種緩存

location/ {
 # 強(qiáng)緩存 1 小時(shí),過期后啟用協(xié)商緩存
 add_headerCache-Control"public, max-age=3600";
 etagon;
}

按文件類型區(qū)分策略

# 圖片、字體等強(qiáng)緩存
location~* .(jpg|png|gif|woff2)${
 expires1y;
 add_headerCache-Control"public, max-age=31536000";
}

# HTML 文件禁用強(qiáng)緩存(總是協(xié)商)
location~* .html${
 add_headerCache-Control"no-cache, must-revalidate";
}

解決緩存更新問題
? 強(qiáng)緩存資源建議通過文件名哈希控制版本(如main.abcd1234.js)。
? 協(xié)商緩存可通過修改ETag或Last-Modified觸發(fā)更新。

五、調(diào)試工具

瀏覽器開發(fā)者工具(Network 標(biāo)簽):
? 查看200 (from disk cache)(強(qiáng)緩存)或304 Not Modified(協(xié)商緩存)。
? 檢查請(qǐng)求頭中的Cache-Control、If-Modified-Since、If-None-Match。

命令行工具:

curl -I http://example.com/resource.js

通過合理配置強(qiáng)緩存和協(xié)商緩存,可以顯著提升網(wǎng)站性能,減少服務(wù)器負(fù)載。

鏈接:https://www.cnblogs.com/ydswin/p/18757690

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 緩存
    +關(guān)注

    關(guān)注

    1

    文章

    244

    瀏覽量

    26970
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1040

    瀏覽量

    35951
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    161

    瀏覽量

    12429

原文標(biāo)題:什么是nginx的強(qiáng)緩存和協(xié)商緩存

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是追蹤緩存/轉(zhuǎn)接卡?

    什么是追蹤緩存/轉(zhuǎn)接卡?  追蹤緩存  在奔騰IV一級(jí)緩存,一般一級(jí)緩存的指令
    發(fā)表于 02-04 10:40 ?491次閱讀

    內(nèi)容中心網(wǎng)絡(luò)基于緩存索引的緩存路由機(jī)制

    內(nèi)容中心網(wǎng)絡(luò)基于緩存索引的緩存路由機(jī)制_王好齊
    發(fā)表于 01-07 20:49 ?0次下載

    詳解瀏覽器的緩存機(jī)制

    緩存一直是前端優(yōu)化的主戰(zhàn)場(chǎng),利用好緩存就成功了一半。本篇從HTTP請(qǐng)求和響應(yīng)的頭域入手,讓你對(duì)瀏覽器緩存有個(gè)整體的概念。最終你會(huì)發(fā)現(xiàn)強(qiáng)緩存
    發(fā)表于 09-30 11:27 ?0次下載
    詳解瀏覽器的<b class='flag-5'>緩存</b>機(jī)制

    Mybatis緩存之一級(jí)緩存

    本文主要講mybatis的一級(jí)緩存,一級(jí)緩存是SqlSession級(jí)別的緩存。mybatis提供查詢緩存,用于減輕數(shù)據(jù)壓力,提高數(shù)據(jù)庫(kù)性能。mybaits提供一級(jí)
    發(fā)表于 11-27 20:44 ?1288次閱讀
    Mybatis<b class='flag-5'>緩存</b>之一級(jí)<b class='flag-5'>緩存</b>

    渲染的幀緩存和深度緩存

    渲染涉及大量的緩存,這里緩存只是一個(gè)簡(jiǎn)單的存有像素?cái)?shù)據(jù)的矩形內(nèi)存塊,最重要緩存是幀緩存和深度緩存
    的頭像 發(fā)表于 05-14 11:44 ?6821次閱讀
    渲染<b class='flag-5'>中</b>的幀<b class='flag-5'>緩存</b>和深度<b class='flag-5'>緩存</b>

    一文知道Nginx服務(wù)器的緩存原理和機(jī)制

    Nginx服務(wù)器的緩存原理,是在學(xué)習(xí)過程中比較重要的一個(gè)知識(shí)點(diǎn),學(xué)習(xí)通透之后,對(duì)于自己的能力會(huì)有不小的提升——而且提升不只限于nginx一方面,技術(shù)理論一通百通,對(duì)于理解其他內(nèi)容也會(huì)有很大幫助。
    的頭像 發(fā)表于 10-05 09:01 ?2537次閱讀
    一文知道<b class='flag-5'>Nginx</b>服務(wù)器的<b class='flag-5'>緩存</b>原理和機(jī)制

    什么是Web緩存,HTTP緩存和瀏覽器緩存的區(qū)別

    前端緩存主要是分為HTTP緩存和瀏覽器緩存。其中HTTP緩存是在HTTP請(qǐng)求傳輸時(shí)用到的緩存,主要在服務(wù)器代碼上設(shè)置;而瀏覽器
    發(fā)表于 09-13 04:17 ?9580次閱讀
    什么是Web<b class='flag-5'>緩存</b>,HTTP<b class='flag-5'>緩存</b>和瀏覽器<b class='flag-5'>緩存</b>的區(qū)別

    淺談架構(gòu)設(shè)計(jì)緩存技術(shù)

    緩存在架構(gòu)設(shè)計(jì)占有重要地位。緩存在提升性能也扮演重要的角色。常見的有對(duì)資源的緩存,比如數(shù)據(jù)庫(kù)連接池、http連接池,還有對(duì)數(shù)據(jù)的
    的頭像 發(fā)表于 01-01 10:18 ?3004次閱讀
    淺談架構(gòu)設(shè)計(jì)<b class='flag-5'>中</b>的<b class='flag-5'>緩存</b>技術(shù)

    緩存的基本原理 緩存的分類

    緩存的主要手段有:瀏覽器緩存、CDN、反向代理、本地緩存、分布式緩存、數(shù)據(jù)庫(kù)緩存
    發(fā)表于 06-13 12:04 ?5006次閱讀

    如何在SpringBoot解決Redis的緩存穿透等問題

    今天給大家介紹一下如何在SpringBoot解決Redis的緩存穿透、緩存擊穿、緩存雪崩的問題。
    的頭像 發(fā)表于 04-28 11:35 ?855次閱讀

    Caffeine教程緩存介紹

    緩存(Cache)在代碼世界無處不在。從底層的CPU多級(jí)緩存,到客戶端的頁(yè)面緩存,處處都存在著緩存的身影。
    的頭像 發(fā)表于 05-22 11:01 ?1124次閱讀
    Caffeine教程<b class='flag-5'>緩存</b><b class='flag-5'>介紹</b>

    聊聊本地緩存和分布式緩存

    本地緩存 :應(yīng)用緩存組件,緩存組件和應(yīng)用在同一進(jìn)程緩存的讀寫非常快,沒有網(wǎng)絡(luò)開銷。但各應(yīng)
    發(fā)表于 06-11 15:12 ?974次閱讀
    聊聊本地<b class='flag-5'>緩存</b>和分布式<b class='flag-5'>緩存</b>

    如何使用緩存

    緩存技術(shù)被認(rèn)為是減輕服務(wù)器負(fù)載、降低網(wǎng)絡(luò)擁塞、增強(qiáng)Web可擴(kuò)展性的有效途徑之一,其基本思想是利用客戶訪問的時(shí)間局部性(Temproral Locality)原理, 將客戶訪問過的內(nèi)容在Cache
    的頭像 發(fā)表于 10-08 14:07 ?796次閱讀

    Redis緩存預(yù)熱+緩存雪崩+緩存擊穿+緩存穿透要點(diǎn)簡(jiǎn)析

    緩存預(yù)熱就是系統(tǒng)上線后,提前將相關(guān)的緩存數(shù)據(jù)直接加載到緩存系統(tǒng)。
    的頭像 發(fā)表于 12-25 09:41 ?1052次閱讀
    Redis<b class='flag-5'>緩存</b>預(yù)熱+<b class='flag-5'>緩存</b>雪崩+<b class='flag-5'>緩存</b>擊穿+<b class='flag-5'>緩存</b>穿透要點(diǎn)簡(jiǎn)析

    緩存之美——如何選擇合適的本地緩存

    Guava cache是Google開發(fā)的Guava工具包中一套完善的JVM本地緩存框架,底層實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)類似于ConcurrentHashMap,但是進(jìn)行了更多的能力拓展,包括緩存過期時(shí)間設(shè)置、緩存容量設(shè)置、多種淘汰策略、
    的頭像 發(fā)表于 11-17 14:24 ?647次閱讀
    <b class='flag-5'>緩存</b>之美——如何選擇合適的本地<b class='flag-5'>緩存</b>?
    主站蜘蛛池模板: 极品美女洗澡后露粉嫩木耳视频 | 免费能直接在线观看黄的视频 | 日本不卡毛片一二三四 | 在线观看高清免费播放 | 久久久久国产精品免费看 | 日本s色大片在线观看 | 国产精品久久新婚兰兰 | 夜夜春宵翁熄性放纵古代 | 欧美 在线播放 | 一区二区中文字幕在线观看 | 黄色特级毛片 | 天堂8资源8在线 | 天天摸天天看 | 日日摸夜夜添免费毛片小说 | 福利视频一区二区微拍堂 | 国产91久久最新观看地址 | 三级在线观看视频网站 | 欧美性生活网址 | 13日本xxxxxxxxx18| 亚洲伊人成人 | xxxx日本在线播放免费不卡 | 一个色在线 | 色综合色综合色综合色综合 | 久久久久久久影院 | 天堂影院在线 | 色婷婷六月丁香在线观看 | 人成xxxwww免费视频 | 色老头一区二区三区在线观看 | 亚洲精品电影天堂网 | 欧美色老太婆 | 一级片高清 | 国产成人乱码一区二区三区 | 三级在线观看网站 | 久久久久毛片成人精品 | 亚洲h视频 | 四虎永久影院 | 天堂中文资源网 | 国产精品免费观看网站 | 亚洲视频在线网 | 1024国产手机视频基地 | 香港三级在线视频 |