HTTP/1.1 302的确切含义是什么?

HTTP/1.1 302的确切含义是什么?,http,redirect,http-headers,http-status-code-302,Http,Redirect,Http Headers,Http Status Code 302,我曾经读过一篇文章说它意味着跳跃(从一个URI跳到另一个URI),但我发现这个“302”,即使实际上根本没有跳跃 来自: HTTP响应状态代码为302 发现是最常见的方法 执行重定向。这是一个 工业实践范例 与标准相矛盾 HTTP代码302用于重定向,请参阅 它告诉浏览者阅读一个页面去其他地方并加载另一个页面。它的用法非常常见。302重定向表示页面被临时移动,而301重定向表示页面被永久移动 301s有利于SEO的价值,而302则不是,因为301s指示客户端忘记原始URL的价值,而302保留原始

我曾经读过一篇文章说它意味着跳跃(从一个URI跳到另一个URI),但我发现这个“302”,即使实际上根本没有跳跃

来自:

HTTP响应状态代码为302 发现是最常见的方法 执行重定向。这是一个 工业实践范例 与标准相矛盾


HTTP代码302用于重定向,请参阅


它告诉浏览者阅读一个页面去其他地方并加载另一个页面。它的用法非常常见。

302重定向表示页面被临时移动,而301重定向表示页面被永久移动

301s有利于SEO的价值,而302则不是,因为301s指示客户端忘记原始URL的价值,而302保留原始URL的价值,因此可以通过创建两个逻辑上不同的URL来潜在地降低价值,每个URL产生相同的内容(搜索引擎将它们视为不同的重复项,而不是具有两个名称的单个资源)。

根据a 302指示(临时)重定向。
“请求的资源临时驻留在不同的URI下”

302是一个响应,指示资源位置的更改-“已找到”

资源现在应该位于的url应该位于响应“Location”标题中


“跳转”应由请求客户端完成(向响应位置标头字段中的资源url发出新请求)。

查看HTTP 301与302重定向的简单方法是:

假设您有一个指向“”的书签,您可以使用浏览器访问该书签

此时302重定向到其他URL意味着您应该将书签保留到“”。这是因为目标URL将来可能会更改

301重定向到其他URL意味着您的书签应更改为指向新URL,因为它是永久重定向。

来自:

10.3.3 302发现 请求的资源临时驻留在不同的URI下。 由于重定向有时可能会被更改,因此客户端应该 继续为将来的请求使用请求URI。此响应 仅当由缓存控件或Expires标头指示时才可缓存 领域 临时URI应该由 响应。除非请求方法是HEAD,否则 响应应包含一个简短的超文本注释,并带有指向的超链接 新的URI。 资料来源:


就搜索引擎优化而言,301和302都很好,这取决于具体情况

如果只能返回一个版本(即,其他版本重定向到它),那就太好了!这种行为是有益的,因为它减少了重复内容。在重定向到尾部斜杠URL的特定情况下,我们的搜索结果可能会显示带有200响应代码的URL版本(通常是尾部斜杠URL)--无论重定向是301还是302。

根据:


这个问题在很久以前就被提出了,当时RFC 2616仍在使用中。这个问题的一些答案基于这样的文件,现在已经不再相关。引用在撰写本文时,IETF HTTP和QUIC工作组的联合主席:

不要使用RFC2616。将其从硬盘、书签中删除,并刻录(或负责回收)打印出来的任何副本

旧的RFC 2616已被以下文件取代,这些文件共同定义了HTTP/1.1协议:

  • :消息语法和路由
  • :语义和内容
  • :有条件的请求
  • :范围请求
  • :缓存
  • :身份验证
因此,我的目标是提供一个基于的答案,它是HTTP/1.1状态代码的当前参考

302
状态代码 带有的响应是执行URL重定向的常见方式。响应应与状态代码一起包含具有不同URI的标头。用户代理将解析此类标头,然后执行重定向:



在后续请求中,Web浏览器可能会从更改为。如果此行为不受欢迎,则可以使用(临时重定向)状态代码

以下是在中定义状态代码的方式:

302
(已找到)状态代码表示目标资源 暂时驻留在不同的URI下。自重定向 可能会被更改,客户应继续使用 未来请求的有效请求URI

服务器应在响应中生成
位置
标题字段
包含不同URI的URI引用。用户代理可能
使用
位置
字段值自动重定向。服务器的 响应负载通常包含一个带有 指向不同URI的超链接

注意:由于历史原因,用户代理可能会更改请求 方法从
POST
GET
,用于后续请求。如果 行为不受欢迎,
307
(临时重定向)状态代码 可以改用

根据,的一个典型用例是:

该网页暂时不可用,原因并非无法预料。这样,搜索引擎就不会更新其链接

用于重定向的其他状态代码 定义以下重定向状态代码:

  • (永久搬迁)
  • (发现)
  • (临时重定向)
创建的目的是为重定向定义另一个状态代码:

  • (永久重定向)
有关详细信息,请参阅本手册。

  • 代码302表示临时重定向
  • 这是它区别于3的最显著特征之一 10.3.3 302 Found The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field. The temporary URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).
       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.