如何让chrome检查电子标签/缓存头PHP 302重定向


How to get chrome to check e-tag/cache headers on PHP 302 redirect

我有一个PHP页面,执行302重定向到另一个PHP页面上的框,新页面返回缓存/电子标签头。

如果第二页有修改/新的电子标签,chrome不会通过302重定向接收这些-你必须在页面上刷新浏览器一次,或者直接导航到它。

如果通过302发送,我如何让它检查修改?

有趣的是,我在charles中看不到重定向页面的请求。我看到了初始请求,它带着新页面的标头返回,但没有新页面的日志——这是因为它在技术上属于同一个请求吗?

更新:一些例子…

请求第一个URL

GET /preview/slide/379 HTTP/1.1
Host: domain.co.uk
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,it;q=0.6
<<p> 反应/strong>:
HTTP/1.1 302 Found
Date: Thu, 22 Oct 2015 11:51:34 GMT
Server: Apache
Location: http://domain.co.uk/preview/index.html?manifest=e232715f805d23bb657a644679d4beaf.json
Content-Length: 0
Content-Type: text/html; charset=UTF-8

然后chrome没有发送后续请求,它只是从磁盘提供文件。

然而,如果你直接去那个位置,你会得到。

GET /preview/index.html?manifest=e232715f805d23bb657a644679d4beaf.json HTTP/1.1
Host: domain.co.uk
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,it;q=0.6
If-None-Match: "ab186261accfe1a5a8de8306ff8e56b9"
If-Modified-Since: Tue, 20 Oct 2015 13:31:09 GMT
<<p> 反应/strong>
HTTP/1.1 304 Not Modified
Date: Thu, 22 Oct 2015 11:59:05 GMT
Server: Apache
ETag: "ab186261accfe1a5a8de8306ff8e56b9"

如果有磁盘的话,它就从磁盘上提供文件,听起来像是chrome的侵略性缓存。

是否有一个头,我可以设置在302重定向,使它然后再次检查服务器?

如果缓存控制头中没有"必须重新验证",浏览器可以使用缓存中的过期响应。

你好,首先在302重定向后启用错误报告,请添加退出命令。

如果你能看到错误,那么解决这个错误。Chrome有时不会重定向页面,如果有一些内容显示/打印重定向之前。