Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http &引用;“无缓存”​;vs";最大年龄=0,必须重新验证,代理重新验证“;_Http_Caching_Browser Cache_Cache Control_Rfc2616 - Fatal编程技术网

Http &引用;“无缓存”​;vs";最大年龄=0,必须重新验证,代理重新验证“;

Http &引用;“无缓存”​;vs";最大年龄=0,必须重新验证,代理重新验证“;,http,caching,browser-cache,cache-control,rfc2616,Http,Caching,Browser Cache,Cache Control,Rfc2616,有什么问题​ 使用缓存控制的HTTP响应:无缓存与缓存控制之间的差异:max age=0,必须重新验证,代理重新验证 浏览器是否将其视为相同的?通常,不同的浏览器的行为并不完全相同。HTTP缓存头 我记得的一个小差异(找不到来源,所以我不是100%这是准确的行为描述)是Chrome(afair)将max age=0视为您指定了max age=10(假设行为差异足够小,但性能影响仍然有意义) 在任何情况下,以下是浏览器之间HTTP缓存行为差异的一些其他示例: 一些人会优先选择HTTP 1.0缓存

有什么问题​ 使用
缓存控制的HTTP响应:无缓存
缓存控制之间的差异:max age=0,必须重新验证,代理重新验证


浏览器是否将其视为相同的?

通常,不同的浏览器的行为并不完全相同。HTTP缓存头

我记得的一个小差异(找不到来源,所以我不是100%这是准确的行为描述)是Chrome(afair)将
max age=0
视为您指定了
max age=10
(假设行为差异足够小,但性能影响仍然有意义)

在任何情况下,以下是浏览器之间HTTP缓存行为差异的一些其他示例:

  • 一些人会优先选择HTTP 1.0缓存头(
    Pragma
    ),其他人会优先选择HTTP 1.1缓存头
  • 某些浏览器(FF+?)
    无存储
    指令并将数据存储在加密缓存中
  • 一些浏览器忽略
    public
    之后未指定缓存
    指令,其他浏览器则不这样做
  • vary
    存在时的
    max age
  • 等等

我的总体建议是同时使用
缓存控制:无缓存,必须重新验证,代理重新验证
pragma:no Cache
(HTTP 1.0)和
Expires:0
,以确保所有浏览器都不会使用这些头缓存内容。

语义;不多“不过它比较短。”马克·诺丁汉说。这在现实世界中也适用吗?浏览器真的认为它们是一样的吗?我有一段时间没有测试过,但我相信是这样。相关:你是如何得到Chrome将
max age=0
视为我们指定的
max age=10
的信息的?我记得这一点,但我找不到来源。我会保留更新答案,直到找到正确的来源。在任何情况下:我可以带来更多的浏览器不表现相同wrt的例子。HTTP缓存头。