我曾经读过的一些文章说这意味着跳跃(从一个URI到另一个URI),但是即使实际上根本没有跳跃,我也检测到了“ 302”!
我曾经读过的一些文章说这意味着跳跃(从一个URI到另一个URI),但是即使实际上根本没有跳跃,我也检测到了“ 302”!
Answers:
302重定向表示该页面已被临时移动,而301重定向则意味着该页面已被永久移动。
301对SEO值有好处,而302并不是因为301会指示客户端忘记原始URL的值,而302则保留原始值,因此可以通过创建两个逻辑上不同的URL来潜在地减少该值。每个都产生相同的内容(搜索引擎将它们视为不同的重复项,而不是具有两个名称的单个资源)。
早在RFC 2616还在徘徊的时候就问过这个问题。该问题的一些答案都基于此类文档,该文档如今已不再适用。引用Mark Nottingham(在撰写本文时,他是IETF HTTP和QUIC工作组的共同主席)的话:
不要使用RFC2616。从硬盘驱动器,书签中将其删除,并刻录(或负责地回收)所有打印出的副本。
下列定义了HTTP / 1.1协议的文档已取代了旧的RFC 2616:
因此,我旨在提供一个基于RFC 7231的答案,它是HTTP / 1.1状态代码的当前参考。
302
状态代码使用响应302
是执行URL重定向的常用方法。除了302
状态码,响应还应包括Location
带有不同URI 的标头。此类标头将由用户代理解析,然后执行重定向:
在后续请求中,Web浏览器可能会从更改POST
为GET
。如果不希望出现这种情况,则307
可以改用(Temporary Redirect)状态代码。
的
302
(实测值)状态代码表示目标资源下不同的URI临时驻留。由于重定向有时可能会更改,因此客户端应继续将有效请求URI用于将来的请求。服务器应该
Location
在响应中生成一个头域,其中包含针对不同URI的URI引用。用户代理可以使用该Location
字段值进行自动重定向。服务器的响应有效负载通常包含一个简短的超文本注释,其中包含指向不同URI的超链接。注意:由于历史原因,用户代理可以将请求方法从
POST
更改GET
为后续请求。如果不希望出现这种情况,则307
可以改用(Temporary Redirect)状态代码。
根据Mozilla的MDN网络文档,典型的用例302
是:
由于未预见的原因,该网页暂时不可用。这样,搜索引擎不会更新其链接。
在RFC 7231定义了重定向以下状态代码:
在RFC 7238的建立是为了定义重定向另一个状态码:
308
(永久重定向)有关更多详细信息,请参考此答案。
Location
标题是帮助我的事情)。事实证明,我正在与一起调用服务,http
他们转移到https
,我得到的回应是302
,一旦我Location
在此处阅读标头,我就看到了http/https
区别。谢谢!
查看HTTP 301与302重定向的一种简单方法是:
假设您有一个指向“ http://sample.com/sample ” 的书签。您使用浏览器去那里。
此时,将302重定向到其他URL意味着您应将书签保留在“ http://sample.com/sample ”。这是因为目标URL将来可能会更改。
301重定向到其他URL意味着您的书签应更改为指向新URL,因为它是永久重定向。
10.3.3找到302 所请求的资源临时位于其他URI下。 由于重定向有时可能会更改,因此客户端应 继续将Request-URI用于将来的请求。这个回应 仅当由Cache-Control或Expires标头指示时才可缓存 领域。 临时URI应该由 响应。除非请求方法是HEAD,否则的实体 响应应包含带有超链接的简短超文本注释 新的URI。
资源:
根据http状态代码定义,302表示(临时)重定向。“请求的资源临时驻留在其他URI下”
HTTP代码302用于重定向,请参见http://en.wikipedia.org/wiki/HTTP_302。
它告诉浏览器阅读页面到其他地方并加载另一个页面。它的用法很常见。
根据RFC 1945 /超文本传输协议-HTTP / 1.0:
302 Moved Temporarily
The requested resource resides temporarily under a different URL.
Since the redirection may be altered on occasion, the client should
continue to use the Request-URI for future requests.
The URL must be given by the Location field in the response. Unless
it was a HEAD request, the Entity-Body of the response should
contain a short note with a hyperlink to the new URI(s).
If the 302 status code is received in response to a request using
the POST method, the user agent must not automatically redirect the
request unless it can be confirmed by the user, since this might
change the conditions under which the request was issued.
Note: When automatically redirecting a POST request after
receiving a 302 status code, some existing user agents will
erroneously change it into a GET request.
示例:尽管我们发现自己需要302重定向并不是很常见,但在某些情况下此选项可能非常有用。这些是最常见的情况:
重定向302是一个代码,用于告知特定URL的访问者页面已被临时移动,将他们直接定向到新位置。
换句话说,当Google机器人或其他搜索引擎请求加载特定页面时,重定向302被激活。此时,由于此重定向,服务器返回了指示新URL的自动响应。
这样,避免了搜索引擎和用户的错误和烦恼,从而确保了流畅的导航。
有关详细信息,请参阅此文章。
302状态代码是HTTP响应状态代码,指示所请求的资源已被临时移动到其他URI。由于将来可能会更改位置或当前重定向指令,因此收到302 Found响应代码的客户端应继续将原始URI用于将来的请求。
具有此状态代码的HTTP响应还将在标头字段Location中提供URL。这是对用户代理(例如,Web浏览器)的邀请,以对在位置字段中指定的新URL进行其他请求(否则是相同的)。最终结果是重定向到新URL。