如何避免浏览器重定向缓存

时间:2011-11-15 12:26:48

标签: http caching browser redirect

这不是我第一次坚持这个问题。 每当我使用301重定向时,浏览器都会缓存它。当我在我的应用程序中更改重定向时,我手动必须清除我的浏览器缓存。

如您所理解的那样,这对网站不太受欢迎。 有没有解决方案来避免这种缓存?

目前我收到了客户的新重定向列表。在我的.htaccess中,我用新的替换了新的,但它没有起作用。

当我清除浏览器缓存时,它似乎工作了。

任何解决方案?非常感谢!

2 个答案:

答案 0 :(得分:16)

引用HTTP specification on the 301 status code

  

301永久移动

     

已为所请求的资源分配了一个新的永久URI和any   以后对此资源的引用应该使用其中一个返回的   的URI。具有链接编辑功能的客户端应该自动进行   将对Request-URI的引用重新链接到一个或多个新的   尽可能由服务器返回的引用。这个回应是   除非另有说明,否则可缓存。

因此,浏览器缓存重定向的URI这一事实不应该是一个惊喜,因为它是按照指定完成的。

要解决此问题,大多数网站使用302(也可以使用307)。

答案 1 :(得分:1)

这是HTTP / 1.1规范中的一个更相关的引用(除了@Bruno的回答):

  

13.4响应可缓存性

     

...

     

收到的回复状态代码为200,203,206,300,301或   410可以由高速缓存存储并用于回复后续的   除非是缓存控制,否则请求受到期满机制的约束   指令禁止缓存。

https://tools.ietf.org/html/rfc2616#section-13.4