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...