我有一个PHP页面,它执行302重定向到框中的另一个php页面,新页面返回缓存/e标记标头。
如果第二个页面有修改/新的电子标签,chrome不会通过302重定向获取这些内容--您必须在页面上刷新一次浏览器,或者直接导航到它。
我如何让它检查修改,如果他们通过302发送?
有趣的是,我在charles中看不到重定向页面的请求。我看到了最初的请求,它返回了新页面的标题,但是新页面没有日志--这是因为它在技术上是同一个请求的一部分吗?
我
更新:一些例子..。
请求第一个网址的
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响应
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响应
HTTP/1.1 304 Not Modified
Date: Thu, 22 Oct 2015 11:59:05 GMT
Server: Apache
ETag: "ab186261accfe1a5a8de8306ff8e56b9"因此,它基本上只是从磁盘服务的文件,如果它有一个,听起来像积极的缓存从铬。
我是否可以在302重定向中设置一个标头,然后再检查服务器?
发布于 2015-10-22 13:14:02
在缓存控制头中没有“必须重新验证”的情况下,浏览器可以使用来自其缓存的陈旧响应。
发布于 2015-10-22 11:19:56
你好,首先启用错误报告在您的网页后302重定向,请添加退出命令。
如果您可以看到错误,那么解决该错误。如果在重定向之前有一些内容被显示/打印,Chrome将不会重定向页面。
https://stackoverflow.com/questions/33279513
复制相似问题