不缓存,这个会让客户端、服务器都不缓存,也就没有所谓的强缓存、协商缓存了。 协商缓存 协商缓存都是由服务器来确定缓存资源是否可用的,所以客户端与服务器端要通过某种标识来进行通信,从而让服务器判断请求资源是否可以缓存访问,这主要涉及到下面两组header字段,这两组搭档都是成对出现的,即第一次请求的响应头带...
则会出现数据不一致的情况, 因此在这里引入了请求头中的两个字段 no-cache, 当使用了 no-cache 字段的时候, 浏览器将不再使用强制缓存, 而是直接去请求服务器, 这个时候就会用到协商缓存了(顺带一提的是, 还有一个 no-store 字段, 用了这个字段浏览器则不会在使用缓存的数据也不缓存数据,即强制缓存和...
Cache-Control 的值为 no-cache (不强缓存) 或者max-age 过期了 (强缓存,但总有过期的时候) 也就是说,不管怎样,都可能最后要进行协商缓存(no-store除外) 这个图,虽然强缓存命中,但是也有 ETag 和 Last-Modified ,这两个就是协商缓存的相关规则。虽然之前的强缓存流程和他俩没关。。。 ETag:每个文件有一...
强缓存过程当浏览器第一次向服务器发起请求时,服务器会将缓存规则放入HTTP响应报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是Expires和Cache-Control,其中Cache-Control优先级比Expires高。强缓存的expire缺点,expire是http1.0的字段,目前主要使用http1.1的Cache-control到了HTTP/1...
是HTTP1.1 中控制网页缓存的字段,主要取值为: public:资源客户端和服务器都可以缓存 privite:资源只有客户端可以缓存 no-cache:客户端缓存资源,但是是否缓存需要经过协商缓存来验证 no-store:不使用缓存 max-age:缓存保质期,是相对时间 上图中,HTTP 响应头中Cache-Control 为 max-age = 31536000,意思是说在 3153...
一般来说,通过 nginx 静态资源服务器,会默认给资源带上强缓存、协商缓存的 header 字段。 两个示例 如果在cache-control定义的max-age时间之内,js,css文件会走强缓存,http状态码是 200, 跟服务器也并不会有交互。但是第一个文件index.html文件, 每次回车或者刷新都是状态码都是 304 ,因为它的请求头中默认每次...
1)浏览器在加载资源时,根据请求头的expires和cache-control判断是否命中强缓存,是则直接从缓存读取资源,不会发请求到服务器。 2)如果没有命中强缓存,浏览器一定会发送一个请求到服务器,通过last-modified和etag验证资源是否命中协商缓存,如果命中,服务器会将这个请求返回,但是不会返回这个资源的数据,依然是从缓存中读...
HTTP 强缓存缓存策和协商略分为缓存。这两种两种:强缓存缓存策略都是和协商缓存通过服务端。设置 HTTP Header 来实现这两种的。 (缓存策一)强略都是通过服务端缓存 设置HTTP Header 强缓存来实现指的是的。 (直接从一)强本地浏览器缓缓存 强缓存存中读取数据,指的是而不向直接从服务器发送请求。例如,本地浏...
强缓存和协商缓存 浏览器的缓存机制是指浏览器可以缓存数据下来,当再次发起请求时,可以在浏览器的缓存中取出,无需再从服务器请求重复加载新数据。 浏览器的缓存机制是由强缓存和协商缓存实现的,其优点是减少网络数据传输,减少服务器负担,提升客服端加载速度。 强缓存和协商缓存的区别 如果命中强缓存,返回状态码 ...