no-cache、must-revalidate简介 no-cache: 告诉浏览器、缓存服务器,不管本地副本是否过期,使用资源副本前,一定要到源服务器进行副本有效性校验。 must-revalidate:告诉浏览器、缓存服务器,本地副本过期前,可以使用本地副本;本地副本一旦过期,必须去源服务器进行有效性校验。
no-cache、must-revalidate简介 no-cache: 告诉浏览器、缓存服务器,不管本地副本是否过期,使用资源副本前,一定要到源服务器进行副本有效性校验。 must-revalidate:告诉浏览器、缓存服务器,本地副本过期前,可以使用本地副本;本地副本一旦过期,必须去源服务器进行有效性校验。 上面的介绍涉及三个主体:浏览器、缓存服务...
Cache-Control: no-cache Cache-Control: max-age=60, must-revalidate 传送门:RFC2616关于Cache-Control首部的介绍。 如果对论证过程不感兴趣,也可以直接跳到“对比结论”小节查看结论。 no-cache、must-revalidate简介 no-cache: 告诉浏览器、缓存服务器,不管本地副本是否过期,使用资源副本前,一定要到源服务器进行...
no-cache、must-revalidate简介 no-cache: 告诉浏览器、缓存服务器,不管本地副本是否过期,使用资源副本前,一定要到源服务器进行副本有效性校验。 must-revalidate:告诉浏览器、缓存服务器,本地副本过期前,可以使用本地副本;本地副本一旦过期,必须去源服务器进行有效性校验。 上面的介绍涉及三个主体:浏览器、缓存服务...
mustrevalidate:在缓存有效期内,浏览器或缓存服务器可能直接从缓存中读取资源,不进行验证。只有在缓存过期或需要验证时,才会向源服务器发送请求。这可以平衡资源的最新性和服务器的负担。在实际项目中,选择使用nocache还是mustrevalidate,需要根据具体的需求和场景来决定。如果需要确保资源的绝对最新性,...
must-revalidate:作用与no-cache相同,但更严格,强制意味更明显。但这只是理论上的描述,根据我在ff6上的测试,它几乎不起作用:只要请求的频率加快到一定程度,服务器就接收不到请求。 no-store:缓存将不存储response,包括header和body。测试结果表明,除每次请求都必发送到服务器外,响应代码均是200,且request并没有发送...
场景一:直接访问源服务器no-cache:若资源未变,二次访问返回304;若资源变更,返回新版本。must-revalidate:根据缓存状态,可能直接从缓存读取或请求源服务器。场景二:通过缓存服务器在有缓存服务器的场景下,no-cache和must-revalidate的行为会受缓存服务器影响,具体表现为缓存服务器的校验和资源更新。
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况: (1) 打开新窗口 如果指定cache-control的值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。而如果...
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况: (1) 打开新窗口 值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。
从严格程度上说, no-store > no-cache > must-revalidate 当缓存过期后( max-age 到达),客户端不能继续使用该资源,必须向服务端发起重新校验。相当于 max-age=0, must-revalidate ,综合起来的效果是,本地缓存每次使用前都必须经过服务端校验。注意几点 客户端完全不缓存文件。