缓存机制一般是有后端设定的,为什么在不同的浏览中区别会很大?
来源:8-6 缓存6-流程图

七月有风
2018-01-15
加载完成之后,再次刷新同一个网站的页面,在chrome中和火狐中显示不一样。chrome中状态吗一直是200;火狐下一直是304。为什么在不同的浏览中区别会很大?缓存机制不是已经规定好的吗,为什么还受制于浏览器的不同?
下面是chrome 中结果:
下面是火狐的中的结果:
写回答
1回答
-
同学你好,我们课程也说了,缓存策略分为服务端的和客户端的,可能也是我的疏忽,课程中我们客户端的缓存策略都是以chrome为例说的。你的第一个截图可以看到,那个200的请求,实际上都是from cache的,也就是这些资源没有去请求服务端,甚至连去服务端判断资源有没有过期也没有做,这是chrome自身的功能,这个from cache的来源,在firefox里没有,所以对于firefox里的资源,都会去请求服务端,在服务端判断没有过期后,返回304然后使用客户端缓存的相关数据,这是firefox和chrome在客户端缓存机制上的一些区别导致的,总体上来看,chrome的这种策略会有更快的访问速度,但是在客户端维护缓存失效判断的话,也可能有缓存一直没法更新的风险,因为客户端毕竟不是开发者可控的。
212018-07-28
相似问题