瀏覽器緩存原理
瀏覽器緩存
HTTP協(xié)議定義的緩存機(jī)制(如:Expires狮暑;Cache-control等)
1、瀏覽器無緩存
2廊勃、瀏覽器有緩存
校驗(yàn)過期機(jī)制
校驗(yàn)是否過期Expires
懈贺、Cache-Control
(max-age
)
協(xié)議中Etag
頭信息校驗(yàn) Etag
Last-Modified
頭信息校驗(yàn) Last-Modified
5、配置語法-expires
添加 Cache-Control
坡垫、Expires
頭
Syntax: expires [modified] time梭灿;
expires epoch|max|off;
Default: expires off冰悠; # 靜態(tài)緩存
Context: http堡妒,server,location溉卓,if in location
靜態(tài)緩存設(shè)置(主要處理瀏覽器
<=>nginx
之間的緩存)
location ~ .*\.(htm|html)$ {
expires 24h;
root /opt/app/code;
}
動態(tài)緩存設(shè)置(主要處理nginx
<=>下游服務(wù)器
之間的緩存)
upstream tomcats {
server 192.168.88.128:8080;
server 192.168.88.129:8080;
server 192.168.88.130:8080;
keepalive 32;
}
# 開啟緩存
proxy_cache_path /opt/app/cache levels=1:2 keys_zone=imooc_cache:10m max_size=10g inactive=60m use_temp_path=off;
# 開啟并使用緩存
proxy_cache imooc_cache;
# 針對200和304狀態(tài)碼的緩存設(shè)置過期時間
proxy_cache_valid 200 304 12h;
server {
listen 80;
server_name www.tomcats.com;
location / {
proxy_pass http://tomcats;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
其中
proxy_cache_path: 代表開啟動態(tài)緩存的關(guān)鍵詞
/opt/app/cache: 代表緩存文件存放的位置
levels=1:2
keys_zone=imooc_cache:10m 設(shè)置共享內(nèi)存以及占用的空間大小
max_size=10g 設(shè)置緩存大小
inactive=60m 當(dāng)緩存超過60m未被使用皮迟,自動清理緩存文件
use_temp_path=off 關(guān)閉臨時目錄的使用
查看
304 Not Modified