浏览器在有缓存的情况下,判断缓存是否过期使用的规则是什么?

来源:3-6 Nginx作为静态资源web服务_浏览器缓存原理

mongo_m

2018-09-14

图片描述
在这里每个浏览器使用的规则肯定不一样,也应该有多种缓存过期策略吧?
这一部分内容老师有什么资料推荐吗?
如何查看自己的浏览器使用的缓存过期策略是什么?

写回答

2回答

Jeson

2018-09-16

理解得没错 ,是这样的

0
1
mongo_m
非常感谢!
2018-09-17
共1条回复

mongo_m

提问者

2018-09-14

这个问题我自己理清楚了,如下。

浏览器判断是否过期主要由http request header 字段cache-control 的max-age属性和expires字段来控制。

max-age=xxx,xxx表示缓存内容将在xxx秒后过期。如果xxx>0,浏览器将直接从缓存中读取,不需要向服务器发起请求。如果xxx <=0,表面缓存内容已经失效。将会进入到《是否过期?》分支的“是”分支,向服务器发起请求,服务器再根据Etag或者last-modified来进行判断如何响应客户端。

在服务器返回的response head中也可以设置cache-control:max-age和expires。

2
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程