Cache-Control: no-cache
与Cache-Control: max-age=0, must-revalidate, proxy-revalidate
的HTTP响应之间的区别是什么?
浏览器会将其视为相同的吗?
答案 0 :(得分:2)
一般来说,不同的浏览器表现不完全相同。 HTTP缓存标头。
我记得的一个小差异(无法找到来源,因此我并非100%这是确切的行为描述)是Chrome(afair)将max-age=0
视为您指定max-age=10
(假设行为差异足够小,但性能影响仍然有意义。)
在任何情况下,以下是浏览器之间HTTP缓存行为差异的一些其他示例:
Pragma
),其他人会优先使用HTTP 1.1 Cache标头no-store
指令并将数据存储在加密缓存中no-cache
后指定public
指令,其他浏览器没有指定。max-age
出现时,vary
。我的总体建议是同时使用Cache-Control: no-cache, must-revalidate, proxy-revalidate
,pragma: no-cache
(HTTP 1.0)和Expires: 0
,以确保所有浏览器都不会使用这些标头缓存内容。