我正在调试HTTP 301永久重定向的问题。经过快速测试后,似乎Safari在重新启动时会清除301s的缓存,但Firefox不会。
IE,Chrome,Firefox和Safari何时清除其301缓存?
更新:例如,如果我想重定向example1.com
到example2.com
,但不小心将其设置为重定向到example3.com
,那就是一个问题。我可以纠正该错误,但是example1.com
与此同时访问过的任何人都将不正确的重定向缓存到example3.com
,因此他们将无法访问其中一个,example1.com
或者example2.com
直到清除了缓存为止。经调查,我发现没有Cache-Control
和Expires
标头设置。不正确的301响应的标头应该是这样的:
HTTP/1.1 301 Moved Permanently
Date: Wed, 27 Feb 2013 12:05:53 GMT
Server: Apache/2.2.21 (Unix) DAV/2 PHP/5.3.8
X-Powered-By: PHP/5.3.8
Location: http://example3.com/
Content-Type: text/html
我自己的测试表明:
- IE7,IE8,Android 2.3.4根本不缓存。
- Firefox 18.0.2,Safari 5.1.7(在Windows 7上)和Opera 12.14均缓存,并在浏览器重启时清除缓存。
- IE10和Chrome 25缓存,但是在浏览器重启时不会清除,那么什么时候清除?