no-cache 与 no-store 的区别是什么
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 207
Author 回答者: lijiayi01
no-cache 可以在本地缓存,可以在代理服务器缓存,但是这个缓存要服务器验证才可以使用 no-store 是禁用缓冲,本地和代理服务器都不缓冲,每次都从服务器获取
Author 回答者: shfshanyue
no-cache
和 no-store
用作控制缓存,被服务器通过响应头 Cache-Control
传递给客户端
no-store
永远都不要在客户端存储资源,每次永远都要从原始服务器获取资源
no-cache
可以在客户端存储资源,但每次都必须去服务器做新鲜度校验,来决定从服务器获取最新资源 (200) 还是从客户端读取缓存 (304),即所谓的协商缓存
一般情况下对于 index.html
或者现代构建环境下不加 hash 的静态资源都需要设置 Cache-Control: no-cache
,用来强制每次在服务器端的新鲜度校验。
相当于以下响应头
Cache-Control: max-age=0, must-revalidate