企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 概述 浏览器是有自己的缓存机制的,基于HTTP协议定义的缓存机制头信息(如:expires ,chache-control等) .这样就不必每次都去请求服务端,消耗服务端的资源.因为有缓存,浏览器可以直接从本地就读取到相关的静态文件,响应延迟就会比较低 . 第一次请求 ![](https://box.kancloud.cn/de33ac3b130a86aa672f3b8d70120d20_1048x329.png) 第二次请求 ![](https://box.kancloud.cn/5aa63bdd6d40359b2f00b00fae8d1646_1035x285.png) ### 校验过期机制 * 校验是否过期 : Expires,Cache-Control(max_age).max_age定义过期生命周期. * 协议中Etag头信息校验 : Etag * Last-Modified头信息校验:Last-Modified Last-Modified后面跟着具体的时间,用此时间跟服务端进行校验,如果时间不一致,说明服务端文件有更新,那么请求新的文件.Last-Modified只能更新到秒,也就是说在1秒内更新了两次,Last-Modified是无法判断的.这时候就用到了Etag,Etag是一串特殊的字符串,这样就能很快的校验出来.Etag就是在缓存中优先使用的方式 . ![](https://box.kancloud.cn/94a36632b094dc84bf3fd45ca3508f0e_1041x588.png) ### 浏览器缓存场景 #### 配置-expires 作用:expires的原理就是就是对HTTP给客户端的response报文添加Cache-control和Expires头. ~~~ Syntax:expires [modified] time; expires epoch | max | off; Default:expires off; //默认关闭 Context:http,server,location,if in location ~~~