You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
这意味着浏览器在使用缓存的资源之前,会向服务器发送一个条件请求(通常是使用If-Modified-Since或If-None-Match头部),询问服务器该资源是否有更新。如果服务器返回 304 Not Modified 状态码,表示资源没有更新,浏览器可以使用缓存的资源;如果服务器返回新的资源内容,表示资源有更新,浏览器需要使用新的资源。
关键词:http 缓存
在 HTTP 缓存中,
no-cache
和no-store
是两种不同的缓存指令,它们的区别如下:一、
no-cache
含义:
no-cache
指令时,这并不意味着不使用缓存。相反,它表示在使用缓存之前,必须先与服务器进行验证,以确定缓存的资源是否仍然有效。If-Modified-Since
或If-None-Match
头部),询问服务器该资源是否有更新。如果服务器返回 304 Not Modified 状态码,表示资源没有更新,浏览器可以使用缓存的资源;如果服务器返回新的资源内容,表示资源有更新,浏览器需要使用新的资源。使用场景:
no-cache
指令,以便在资源没有更新时可以快速使用缓存,而在资源有更新时可以获取到最新的资源。no-cache
指令,以便在每次请求时都让服务器根据请求参数来确定是否返回缓存的资源还是生成新的资源。二、
no-store
含义:
no-store
指令表示绝对不允许缓存资源。这意味着浏览器在接收到带有no-store
指令的响应后,不会将资源存储在任何缓存中,包括浏览器缓存、代理服务器缓存等。每次请求都必须从服务器获取最新的资源。使用场景:
no-store
指令。例如,一些在线银行页面、交易系统等可能会使用no-store
指令来确保用户每次看到的都是最新的信息。总之,
no-cache
表示在使用缓存之前需要与服务器进行验证,而no-store
表示绝对不允许缓存资源。根据不同的需求,可以选择合适的缓存指令来控制资源的缓存行为。The text was updated successfully, but these errors were encountered: