【问题标题】:What causes a HTTP 302?什么导致 HTTP 302?
【发布时间】:2011-07-22 19:58:00
【问题描述】:

问题在标题中 - 是什么导致 HTTP 302?

【问题讨论】:

    标签: http header


    【解决方案1】:

    如果您使用 CodeIgniter,请检查 url helper 并找到 302 将其替换为 301。 如果我们使用钩子,这是基于 CI 的 302 重定向的主要问题。

    【讨论】:

      【解决方案2】:

      这是重定向 您的代码的某处可能会设置导致问题的限制 简而言之,就是你的代码

      【讨论】:

        【解决方案3】:

        请参阅w3.org 上的指南。

        这实际上是一个临时的 URI 重定向。在使用 ASP.NET 时也很常见 - 执行服务器端 Response.Redirect() 将导致 302。

        【讨论】:

          【解决方案4】:

          这是一个重定向,而不是错误。 RFC2616 将其描述为:

          请求的资源暂时位于不同的 URI 下。由于有时可能会更改重定向,因此客户端应该继续使用 Request-URI 来处理未来的请求。

          请注意,您应该只将 HTTP 302 重定向用于 临时 重定向,而不是永久重定向。应该使用 HTTP 301 来实现永久重定向。

          您可以通过不在代码中发出 HTTP 302 重定向来避免这种情况。

          Wikipedia articlethis related question 的答案中查找更多信息。

          【讨论】:

          • 谢谢,我有点不确定这是什么意思。浏览器是否向服务器请求 URI,而服务器正在告诉浏览器请求的资源已移动。
          • @Gary:是的,这正是它的意思。浏览器发回一个 HTTP 302 代码,这意味着请求的资源已暂时移动到不同的位置。随着 HTTP 302 代码,服务器发回项目的 new 位置。大多数浏览器都能无缝处理这个问题,接收消息并立即将用户重定向到新位置。
          • @Cody 原谅我太厚了,但是是什么导致资源暂时移动?
          • @Gary:通常会发生 302 重定向,因为管理网站的人是这样配置的。一个可能的原因示例是为新页面创建临时 A/B 拆分测试,尽管这不是进行 A/B 拆分的唯一(或必然是最好的)方法。
          • @Gary:是的,Brian 的回答是正确的。任何事情都可能导致资源暂时移动,但 HTTP 302 重定向仅在网站管理员设置时才会发生。您可能临时移动了服务器以进行升级或类似的事情,因此您将临时将所有访问者重定向到另一个临时服务器。但它总是由网站管理员或管理员控制。在您不知情的情况下,不会发生重定向、HTTP 302 或其他方式。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-10
          • 2021-10-29
          • 1970-01-01
          • 2011-12-29
          • 2017-03-31
          相关资源
          最近更新 更多