强缓存和协商缓存

Nginx配置浏览器缓存

强缓存

说明:当浏览器向服务器获取请求结果后,将请求结果在本地浏览器内缓存,之后的请求都先反问缓存内的结果,返回200

在Response Headers中设置cache-control、expires,两种方式都设置,以cache-control为主

cache-control,用来控制缓存方式
cache-control: max-age=6000    设置缓存存储的最大周期,超过这个时间缓存被认为过期
cache-control: no-store 不缓存  
cache-control: no-cache 不使用强缓存,使用协商缓存
expires,响应头包含日期/时间,即在此时之后,响应过期
expires: Mon,15 Sep 2020 09:20:20 GMT	
协商缓存

说明:当浏览器向服务器获取请求结果后,将请求结果在本地浏览器内缓存,之后向服务器发送请求,如果服务器内容没有发生变化,返回304,在从浏览器缓存中获取内容,如果发生变化,获取新的数据,返回200,再更新缓存,

	response: last-modified: Mon,15 Sep 2020 09:20:20 GMT
	request: if-modified-since: Mon,15 Sep 2020 09:20:20 GMT
	response: etag: "619df7f3-554ca"
	request: if-none-match: "619df7f3-554ca"

last-modified,包含源头服务器认定的资源做出修改的日期及时间
if-modified-since,服务器只在所请求的资源给定日期时间之后对内容进行过修改的情况下,才会将资源返回,状态码200,如果请求的资源从那时未经过修改,返回304,只能用在get、head请求
etag,是http响应头资源标识符,如果请求内容没有发生修改,web服务器不需要发送完整的响应,如果发生了修改,就会更新这个标识
if-none-match,将请求的etag的值做为参数传递给服务器,与服务器的etag进行对比,如果两者相同,标识没有发生修改,web服务器不需要发送完整的响应,如果不相同,标识请求内容修改过,获取新的内容

Ngnix配置缓存方法

浏览器默认对静态文件使用强缓存

server {
	// 协商缓存
	location ~* \.(html)$ {
		access_log off;
		add_header Cache-Control max-age=no-cache;
	}
	// 强缓存
	location ~* \.(css|js|png|jpg|jpeg|git|gz|svg|mp4|ogg|ogv|webm|htc|xml|woff)$ {
		access_log off;
		add_header Cache-Control max-age=36000;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值