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

Http 我可以覆盖以前缓存的301重定向吗?,http,browser,Http,Browser,如果我有一个url,比如说/resources/1234/资源的原始标题 id1234是url中唯一重要的部分,标题的作用是使url可读 我的应用程序将永久(301)将标题的任何拼写错误重定向到正确版本 鉴于以下事件: 用户A更新标题,使url成为新标题 用户B访问原始url并缓存301 用户A将名称更改回/resources/1234/资源的原始标题 用户B访问/resources/1234/新标题 这样做安全吗?浏览器是否会陷入缓存重定向的循环中?RFC 7231超文本传输协议(HTTP/1

如果我有一个url,比如说
/resources/1234/资源的原始标题

id
1234
是url中唯一重要的部分,标题的作用是使url可读

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

鉴于以下事件:

  • 用户A更新标题,使url成为新标题
  • 用户B访问原始url并缓存301
  • 用户A将名称更改回
    /resources/1234/资源的原始标题
  • 用户B访问
    /resources/1234/新标题
  • 这样做安全吗?浏览器是否会陷入缓存重定向的循环中?

    RFC 7231超文本传输协议(HTTP/1.1)部分:

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

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

    虽然您不能保证它不会执行无限循环,但在当前浏览器(Chrome、Firefox、IE和Edge)的实践中,它们会检测到循环,从服务器获取新响应,如果服务器仍然给出301循环,则会显示错误消息,如果没有,它将使用RFC 7231超文本传输协议(HTTP/1.1)的新301节更新缓存:

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

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

    虽然您不能保证它不会执行无限循环,但在当前浏览器(Chrome、Firefox、IE和Edge)的实践中,它们会检测到循环,从服务器获取新响应,如果服务器仍然给出301循环,它将显示错误消息,如果没有,它将使用新的301更新缓存