【问题标题】:Firefox reloads cached PHP script. How to prevent such behavior? [duplicate]Firefox 重新加载缓存的 PHP 脚本。如何防止此类行为? [复制]
【发布时间】:2013-10-20 04:01:36
【问题描述】:

以下是请求标头:

GET /url/ HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: data=ABC;
Connection: keep-alive
Cache-Control: max-age=0

这是来自服务器的响应:

HTTP/1.1 200 OK
Date: Fri, 11 Oct 2013 23:28:32 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.3.2-1ubuntu4.18
Expires: Wed, 16 Oct 2013 03:28:32 GMT
Cache-Control: max-age=360000
Pragma: cache
Content-Language: en
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 844
Keep-Alive: timeout=15, max=92
Connection: Keep-Alive

无论我刷新页面多少次,无论如何,它总是会发出请求(这需要 200 毫秒以上,因为它通过 HTTPS)。我在监督什么吗?响应头是否应该包含更多参数以防止 Firefox 发出服务器请求?

【问题讨论】:

标签: php apache firefox caching


【解决方案1】:

我通常会做一些类似添加 example.com/url/?nocache=<?php echo rand(); ?> 的操作,它会在 url 中添加一个随机数,使其每次都成为不同的 url 以防止缓存。

【讨论】:

  • OP 不想强制请求从而绕过缓存,他想要的恰恰相反。
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 2020-03-26
  • 2016-08-06
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多