Nginx 快取配置

2022-09-19 18:54:12 字數 2154 閱讀 8901

header

說明expires

快取過期的日期和時間

cache-control

設定和快取相關的配置資訊

last-modified

請求資源最後修改時間

etag

請求變數的實體標籤的當前值,比如檔案的md5值

(1)使用者首次通過瀏覽器傳送請求到服務端獲取資料,客戶端是沒有對應的快取,所以需要傳送request請求來獲取資料;

(2)服務端接收到請求後,獲取服務端的資料及服務端快取的允許後,返回200的成功狀態碼並且在響應頭上附上對應資源以及快取資訊;

(3)當使用者再次訪問相同資源的時候,客戶端會在瀏覽器的快取目錄中查詢是否存在響應的快取檔案

(4)如果沒有找到對應的快取檔案,則走(2)步

(5)如果有快取檔案,接下來對快取檔案是否過期進行判斷,過期的判斷標準是(expires),

(6)如果沒有過期,則直接從本地快取中返回資料進行展示

(7)如果expires過期,接下來需要判斷快取檔案是否發生過變化

(8)判斷的標準有兩個,乙個是etag(entity tag),乙個是last-modified

(9)判斷結果是未發生變化,則服務端返回304,直接從快取檔案中獲取資料

(10)如果判斷是發生了變化,重新從服務端獲取資料,並根據快取協商(服務端所設定的是否需要進行快取資料的設定)來進行資料快取。

expires:該指令用來控制頁面快取的作用。可以通過該指令控制http應答中的「expires"和」cache-control"

語法expires [modified] time

expires epoch|max|off;

預設值expires off;

位置http、server、location

time:可以整數也可以是負數,指定過期時間,如果是負數,cache-control則為no-cache,如果為整數或0,則cache-control的值為max-age=time;

epoch: 指定expires的值為'1 january,1970,00:00:01 gmt'(1970-01-01 00:00:00),cache-control的值no-cache

max:指定expires的值為'31 december2037 23:59:59gmt' (2037-12-31 23:59:59) ,cache-control的值為10年

off:預設不快取。

add_header指令是用來新增指定的響應頭和響應值。

語法add_header name value [always];

預設值—

位置http、server、location...

cache-control作為響應頭資訊,可以設定如下值:

快取響應指令:

cache-control: must-revalidate

cache-control: no-cache

cache-control: no-store

cache-control: no-transform

cache-control: public

cache-control: private

cache-control: proxy-revalidate

cache-control: max-age=

cache-control: s-maxage=

指令

說明must-revalidate

可快取但必須再向源伺服器進行確認

no-cache

快取前必須確認其有效性

no-store

不快取請求或響應的任何內容

no-transform

**不可更改**型別

public

可向任意方提供響應的快取

private

僅向特定使用者返回響應

proxy-revalidate

要求中間快取伺服器對快取的響應有效性再進行確認

max-age=《秒》

響應最大age值

s-maxage=《秒》

公共快取伺服器響應的最大age值

max-age=[秒]

Nginx 快取配置

之前講過nginx的正向 和反向 但是對於我們yum源 這肯定是不夠的,最好是要能快取資源。畢竟yum源的東西大部分都是靜態資源,不會改變,如果能快取這些資源,不僅能加快使用者對資源的獲取,另一方面也減少了出口流量和頻寬。這其實也就是cdn的初衷了。接下來就來說說nginx的快取配置。不多說,直接上...

nginx快取配置例項

proxy buffer size 4k 設定 伺服器 nginx 儲存使用者頭資訊的緩衝區大小 proxy buffers 4 32k proxy buffers緩衝區,網頁平均在32k以下的設定 proxy busy buffers size 64k 高負荷下緩衝大小 proxy buffers...

Nginx快取配置實戰

快取配置說明 先來了解一下proxy cache快取系統的基本配置,如下所示 upstream test servers 設定快取空間的名字及其存放路徑和存放方式 proxy cache path path cache nginxcache levels 1 2 keys zone cachedat...