亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文詳解Nginx的強緩存和協(xié)商緩存

 更新時間:2025年03月07日 15:56:47   作者:dashery  
這篇文章主要為大家詳細介紹了Nginx中強緩存和協(xié)商緩存的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

一、強緩存(Strong Cache)

1. 定義

強緩存直接告訴瀏覽器:在緩存過期前,無需與服務(wù)器通信,直接使用本地緩存。

由服務(wù)器通過響應頭 Cache-Control 和 Expires 控制。

2. 響應頭

 Cache-Control: max-age=3600表示資源在 3600 秒(1小時) 內(nèi)有效(優(yōu)先級高于 Expires)。

Expires: Thu, 31 Dec 2030 23:59:59 GMT指定一個絕對過期時間(依賴于客戶端本地時間,可能存在誤差)。

3. Nginx 配置示例

location /static/ {
    # 設(shè)置強緩存:1年內(nèi)有效
    add_header Cache-Control "public, max-age=31536000";
    expires 1y;
}

4. 行為

瀏覽器首次請求資源時,服務(wù)器返回資源并附帶緩存頭。

后續(xù)請求時,瀏覽器直接讀取本地緩存(狀態(tài)碼 200 (from disk cache)),不發(fā)送請求到服務(wù)器。

5. 適用場景

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

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

1. 定義

協(xié)商緩存要求瀏覽器 每次向服務(wù)器驗證緩存是否過期,若未過期則返回 304 Not Modified,繼續(xù)使用本地緩存。

由服務(wù)器通過響應頭 Last-Modified 和 ETag 控制。

2. 響應頭

 Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT表示資源最后修改時間(精度為秒,可能因時間同步問題失效)。

ETag: "5d8c72a5-264"資源的唯一標識符(哈希值或版本號),精度更高。

3. Nginx 配置示例

location /dynamic/ {
    # 啟用協(xié)商緩存(默認已支持,無需顯式配置)
    add_header Last-Modified "";
    etag on;
}

4. 行為

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

后續(xù)請求時,瀏覽器通過以下請求頭驗證緩存:

  • If-Modified-Since: [Last-Modified值]向服務(wù)器詢問資源是否在指定時間后修改過。
  • If-None-Match: [ETag值]向服務(wù)器驗證資源的 ETag 是否變化。

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

5. 適用場景

頻繁更新的資源(如 HTML 頁面、動態(tài) API 響應)。

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

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

四、Nginx 最佳實踐

1.混合使用兩種緩存

location / {
    # 強緩存 1 小時,過期后啟用協(xié)商緩存
    add_header Cache-Control "public, max-age=3600";
    etag on;
}

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

# 圖片、字體等強緩存
location ~* \.(jpg|png|gif|woff2)$ {
    expires 1y;
    add_header Cache-Control "public, max-age=31536000";
}

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

3.解決緩存更新問題

強緩存資源建議通過 文件名哈希 控制版本(如 main.abcd1234.js)。

協(xié)商緩存可通過修改 ETag 或 Last-Modified 觸發(fā)更新。

五、調(diào)試工具

瀏覽器開發(fā)者工具(Network 標簽):

  • 查看 200 (from disk cache)(強緩存)或 304 Not Modified(協(xié)商緩存)。
  • 檢查請求頭中的 Cache-Control、If-Modified-SinceIf-None-Match。

命令行工具:

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

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

到此這篇關(guān)于一文詳解Nginx的強緩存和協(xié)商緩存的文章就介紹到這了,更多相關(guān)Nginx緩存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解 Nginx 301重定向的配置

    詳解 Nginx 301重定向的配置

    這篇文章主要介紹了詳解 Nginx 301重定向的配置的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Nginx服務(wù)啟動和停止實現(xiàn)

    Nginx服務(wù)啟動和停止實現(xiàn)

    使用Nginx的過程中,我們可能總是需要修改nginx配置文件,然后不停地啟動或者停止nginx服務(wù),本文就來介紹一下,感興趣的可以了解一下
    2023-11-11
  • 使用Nginx反向代理實現(xiàn)多端口跳轉(zhuǎn)的實戰(zhàn)分享

    使用Nginx反向代理實現(xiàn)多端口跳轉(zhuǎn)的實戰(zhàn)分享

    在現(xiàn)代Web開發(fā)中,Nginx作為一款高性能的開源反向代理服務(wù)器,提供了強大的功能來管理網(wǎng)絡(luò)流量和路由,本文將介紹如何利用 Nginx 的反向代理功能,以實現(xiàn)多端口跳轉(zhuǎn)的效果,需要的朋友可以參考下
    2024-02-02
  • nginx添加nginx-sticky-module模塊步驟的實現(xiàn)

    nginx添加nginx-sticky-module模塊步驟的實現(xiàn)

    nginx-sticky-module模塊是nginx實現(xiàn)負載均衡的一種方案,和ip_hash負載均衡算法會有區(qū)別的,本文主要介紹了nginx添加nginx-sticky-module模塊步驟的實現(xiàn),感興趣的可以了解一下
    2023-08-08
  • Nginx強制跳轉(zhuǎn)Https(Http訪問跳轉(zhuǎn)Https)

    Nginx強制跳轉(zhuǎn)Https(Http訪問跳轉(zhuǎn)Https)

    這篇文章主要為大家介紹了Http訪問強制跳轉(zhuǎn)到Https的幾種方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 通過nginx實現(xiàn)方向代理過程圖解

    通過nginx實現(xiàn)方向代理過程圖解

    這篇文章主要介紹了通過nginx實現(xiàn)方向代理過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 詳解Nginx Location配置

    詳解Nginx Location配置

    本篇文章給大家分享了Nginx Location配置的相關(guān)步驟以及具體方法,有需要的朋友參考學習下。
    2018-05-05
  • 手把手教你利用Nginx搭建屬于自己的服務(wù)器

    手把手教你利用Nginx搭建屬于自己的服務(wù)器

    最近總是想搭建自己的網(wǎng)站,奈何皮夾里空空如也,服務(wù)器也租不起,更別說域名了,于是我就尋思能否自己搭建個服務(wù)器,還不要錢呢,本文就來手把手教你如何實現(xiàn)吧
    2023-08-08
  • 詳解Nginx如何配置Web服務(wù)器的示例代碼

    詳解Nginx如何配置Web服務(wù)器的示例代碼

    這篇文章主要介紹了詳解 Nginx如何配置Web服務(wù)器的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Nginx中日志模塊的應用和配置應用示例

    Nginx中日志模塊的應用和配置應用示例

    Nginx是一款高性能的HTTP和反向代理服務(wù)器,廣泛應用于互聯(lián)網(wǎng)領(lǐng)域,這篇文章主要介紹了Nginx中日志模塊的應用和配置,下面通過一個簡單的實例來演示Nginx日志模塊的應用和配置,需要的朋友可以參考下
    2024-02-02

最新評論