我可以覆盖以前缓存的301重定向吗?

时间:2018-04-17 21:04:05

标签: http browser

如果我有网址,请说/resources/1234/original-title-of-resource

标识1234是网址中唯一重要的部分,标题是使网址可读。

我的应用将永久(301)将标题的任何错误拼写重定向到正确的版本。

鉴于以下事件:

  1. 用户A更新标题,以便网址变为/resources/1234/the-new-title
  2. 用户B访问原始网址并缓存301
  3. 用户A将名称更改回/resources/1234/original-title-of-resource
  4. 用户B访问/resources/1234/the-new-title
  5. 这样做安全吗?浏览器是否会陷入缓存重定向的循环中?

1 个答案:

答案 0 :(得分:3)

RFC 7231超文本传输​​协议(HTTP / 1.1)的

Redirection 3xx部分:

  

客户端应该检测并干预周期性重定向(即"无限"重定向循环)。

     

注意:此规范的早期版本建议最多五次重定向([RFC2068],第10.3节)。内容开发人员需要意识到某些客户端可能会实现这样一个固定的限制。

虽然您无法保证它无法进行无限循环,但在实际使用当前浏览器(Chrome,Firefox,IE和Edge)时,它们会检测到循环,从服务器获取新响应,如果服务器仍然提供301循环,它将显示错误消息,如果没有,它将使用新301更新缓存。