Http 如果302 URI可以';找不到?

Http 如果302 URI可以';找不到?,http,lamp,Http,Lamp,如果我发出HTTP请求以获取index.html,但该URL有一个指向的302 re direct,如果重定向目标()不可用,会发生什么?用户代理将尝试原始URL()还是仅返回一个错误 问题背景:我管理一个旧式网站,它支持一些现有客户,但不允许新的注册。几乎所有的页面都被重定向到一个较新的站点(由于一些未知的原因,使用302而不是301s…)。这包括注册页面。在其中一个未重定向的页面上,仍然有一个指向注册页面的链接,该页面本身链接到第三方支付页面(即在另一个域上)。上周,我们当前的网站宕机了几个

如果我发出HTTP请求以获取index.html,但该URL有一个指向的302 re direct,如果重定向目标()不可用,会发生什么?用户代理将尝试原始URL()还是仅返回一个错误

问题背景:我管理一个旧式网站,它支持一些现有客户,但不允许新的注册。几乎所有的页面都被重定向到一个较新的站点(由于一些未知的原因,使用302而不是301s…)。这包括注册页面。在其中一个未重定向的页面上,仍然有一个指向注册页面的链接,该页面本身链接到第三方支付页面(即在另一个域上)。上周,我们当前的网站宕机了几个小时,在此期间,有人通过旧网站成功注册。我能想象这种情况发生的唯一方式是,如果302找不到它想要的URL,一些(全部?)用户代理会绕过重定向,然后转到最初请求的URL


顺便说一句,我知道有很多更好的方法来处理我们在这两个网站的特殊情况。我们在上面!这只是我想弄清的奇怪情况之一。

您应该会收到一个
404未找到
状态代码

由于HTTP是一种无状态协议,因此用户代理的两个请求之间没有真正的连接。重定向状态代码只是服务器礼貌地告诉客户端他们正在寻找的资源现在在其他地方的一种方式。但是,客户机没有义务从另一个URL实际请求资源

哦,注册页面现在在那个URL上了?那我就不想要了。。。我去看看小猫


此外,即使客户机决定请求新的URL(通常是^^^),这也可以被视为服务器和客户机之间的全新通信。服务器和客户端都不应该记住,以前有一个请求导致重定向状态代码。相反,应将当前请求视为第一个(也是唯一一个)请求。当您请求一个找不到的URL时会发生什么?您得到一个
404未找到
状态代码。

用户代理为什么要重试第一个URL?如果找不到URI,它将返回404。看起来您犯了配置错误。您的注册页面应已替换为301。但它显然仍然存在,否则就不可能注册。@asjo-好吧,我没想到他们会注册。我希望重定向链接指向的错误消息(404、501或其他什么)会被返回。但在这种情况下,我认为没有发生这种情况。我就是搞不清楚有人是如何访问这个页面的,而且它发生在一次站点宕机期间,这让我觉得这两个页面是相互关联的。@msalters-是的,应该是这样的。奇怪的是,我找不出一种方法来访问公共网站上的那个页面,甚至在搜索中都找不到。我不知道这个人是怎么发现的!