awesome-fenix
awesome-fenix copied to clipboard
「Comment」https://icyfenix.cn/architect-perspective/general-architecture/diversion-system/client-cache.html
https://icyfenix.cn/architect-perspective/general-architecture/diversion-system/client-cache.html
“no-store不强制会话中相同URL资源的重复获取,但禁止浏览器、CDN等以任何形式保存该资源。”不能保存该资源,除了重复获取之外,还有别的方法吗?前半句话似乎有些多余困扰了初学者
“no-cache指明该资源不应该被缓存”,我在《图解HTTP》一书中看到说是no-cache代表不缓存过期的资源,照您这篇的逻辑是不是可以表述为:强制缓存失效但协商缓存仍生效?
@UUNNFLY
“no-store不强制会话中相同URL资源的重复获取,但禁止浏览器、CDN等以任何形式保存该资源。”不能保存该资源,除了重复获取之外,还有别的方法吗?前半句话似乎有些多余困扰了初学者
“不强制重复获取”是针对有一些资料认为“同一页面多次使用同一资源,譬如一个页面中放置了URL完全相同的两张图片,no-store会导致两次重复获取请求”而加入的。不能缓存不代表要重复获取。
“no-cache指明该资源不应该被缓存”,我在《图解HTTP》一书中看到说是no-cache代表不缓存过期的资源,照您这篇的逻辑是不是可以表述为:强制缓存失效但协商缓存仍生效?
对,强制缓存失效但协商缓存中的ETag仍生效。
“only-if-cached表示要求客户端要求不发送网络请求”这句好拗口
“only-if-cached表示要求客户端要求不发送网络请求”这句好拗口
确实,已修改
"public和private:指明是否涉及到用户身份的私有资源,如果是 public,着可以被代理、CDN 等缓存,如果是 private,着只能由用户的客户端进行私有缓存。"其中"着可以"和"着只能"是"则可以"和"则只能"吧?
"public和private:指明是否涉及到用户身份的私有资源,如果是 public,着可以被代理、CDN 等缓存,如果是 private,着只能由用户的客户端进行私有缓存。"其中"着可以"和"着只能"是"则可以"和"则只能"吧?
感谢,已修正。
Last-Modified 和 If-Modified-Since:l Last-Modified 是服务器的响应 Header l 是多余的吧
no-cache和no-store:no-cache 指明该资源不应该被缓存,哪怕是同一个会话中对同一个 URL 地址的请求,也必须从服务端获取,令强制缓存完全失效,但此时下一节中的协商缓存机制依然是生效的
根据约定,协商缓存不仅在浏览器的地址输入、页面链接跳转、新开窗口、前进、后退中生效,而且在用户主动刷新页面(F5)时也同样是生效的,只有用户强制刷新(Ctrl+F5)或者明确禁用缓存(譬如在 DevTools 中设定)时才会失效,此时客户端向服务端发出的请求会自动带有“Cache-Control: no-cache”。
这两段对于no-cache作用的描述 是否矛盾了?
no-cache和no-store:no-cache 指明该资源不应该被缓存,哪怕是同一个会话中对同一个 URL 地址的请求,也必须从服务端获取,令强制缓存完全失效,但此时下一节中的协商缓存机制依然是生效的
这段话的意思是请求带有no-cache
会导致强制缓存失效, 但协商缓存依然生效
根据约定,协商缓存不仅在浏览器的地址输入、页面链接跳转、新开窗口、前进、后退中生效,而且在用户主动刷新页面(F5)时也同样是生效的,只有用户强制刷新(Ctrl+F5)或者明确禁用缓存(譬如在 DevTools 中设定)时才会失效,此时客户端向服务端发出的请求会自动带有“Cache-Control: no-cache”。
这段话的意思是协商缓存失效时发送的请求带有no-cache
. 引申含义是不是: 请求带有no-cache
会导致协商缓存失效? 这样的话上述两段话是不是存在矛盾?
望指教