根据HTTP规范,在加载导致302重定向的资源时:
...有时可能会改变重定向,客户端应该继续使用Request-URI来处理将来的请求。如果由Cache-Control或Expires标头字段指示,则此响应仅可缓存。
但是,在单页加载中,我看到当前的Chrome和Firefox都会将对初始Request-URI的后续请求解析为第一个请求的已解析值,即使重定向没有指定缓存也是如此。
我在这里设置了一个最小的repro案例:
http://chrome-302-broke.herokuapp.com/test.html
这是一个免费的heroku dyno(如果你在离线时到达它)。
我错过了什么吗?似乎从初始响应中缓存重定向,即使在相同的页面加载中,也可以使用规范中的描述自由。严格的解释不应该缓存此请求。
特别是随着越来越多的Web应用程序在相当长的时间内没有在页面之间导航,这似乎会导致越来越多的用例出现问题。
这是我应该提交给Chrome / Firefox的错误吗?