浏览器缓存原理
浏览器缓存
HTTP协议定义的缓存机制(如:Expires;Cache-control等)
1、浏览器无缓存
2、浏览器有缓存
28404218校验过期机制
校验是否过期Expires
、Cache-Control
(max-age
)
协议中Etag
头信息校验 Etag
Last-Modified
头信息校验 Last-Modified
5、配置语法-expires
添加 Cache-Control
、Expires
头
Syntax: expires [modified] time;
expires epoch|max|off;
Default: expires off; # 静态缓存
Context: http,server,location,if in location
静态缓存设置(主要处理浏览器
<=>nginx
之间的缓存)
location ~ .*\.(htm|html)$ {
expires 24h;
root /opt/app/code;
}
动态缓存设置(主要处理nginx
<=>下游服务器
之间的缓存)
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状态码的缓存设置过期时间
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: 代表开启动态缓存的关键词
/opt/app/cache: 代表缓存文件存放的位置
levels=1:2
keys_zone=imooc_cache:10m 设置共享内存以及占用的空间大小
max_size=10g 设置缓存大小
inactive=60m 当缓存超过60m未被使用,自动清理缓存文件
use_temp_path=off 关闭临时目录的使用
查看
304 Not Modified
网友评论