Firefox不尊重必须重新验证jQuery.ajax()请求返回的缓存头

时间:2012-06-02 23:24:48

标签: jquery http firefox

更新1 :以this thread判断我不是唯一一个在FF中遇到此问题的人 12,仅在12。

更新2 :问题似乎不仅限于Ajax请求。从它的外观来看,它将从那里获取进入Firefox 12缓存的所有内容。无论。服务器可以整天指定缓存控制头。无赖!

我想要实现的是以下行为:

  1. 浏览器可以缓存响应而无需重新验证最多5分钟
  2. 我不在乎浏览器是否在每次请求时重新验证(例如Chrome和IE9都这样做)
  3. 当到期时,浏览器必须重新验证(在我的情况下会导致新数据)
  4. Chrome和IE9在使用ifModified发出jquery.ajax()请求时表现出所需的行为:true和cache:true,而Firefox 12 从不重新验证,这会造成严重问题。

    这些是实际的响应标头:

    HTTP/1.1 200 OK
    Server: nginx
    Date: Sun, 03 Jun 2012 07:13:43 GMT
    Content-Type: text/javascript; charset=UTF-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    Vary: Accept-Encoding
    Cache-Control: private, must-revalidate, max-age=300
    Last-Modified: Sun, 03 Jun 2012 07:07:13 GMT
    Content-Encoding: gzip
    

    有什么建议吗?

0 个答案:

没有答案