关于http:3xx-HTTP状态码的终极指南

46次阅读

共计 6547 个字符,预计需要花费 17 分钟才能阅读完成。

前言

如果你在治理一些网站,那么对 HTTP 重定向的了解对于牢靠的网站性能至关重要。在这篇文章中,咱们将全面理解一下 3xx HTTP 状态码,从这里你能够理解它们是如何工作的,如何更好地治理它们,以及它们对 SEO 的影响。

HTTP 重定向的目标

URL 重定向波及到一个网页地址被映射到另一个。网站须要重定向的起因有很多。

比如说,迁徙到一个新的域名是应用 URL 重定向的首要起因之一。有时,你以前的域名太长、太简单,导致难以记住,或者某种侵权流动迫使你从一个域名转移到另一个域名。

让咱们具体看看重定向页面的其余起因:

  • 转发多个域名:当同时领有多个域名时,须要永恒的 HTTP 重定向,以疏导互联网用户和搜索引擎到同一地址。
  • 辨认破损链接:404 页面能够通过 Google Search Console 来辨认。笼罩报告将给你提供所有链接的详细信息,以便在重定向的帮忙下进行修复。
  • 修复破损链接:在辨认破损链接后,你能够将其重定向到首页。然而,一个更好的抉择是将每个破损的 URL 重定向到一个具备雷同(相似)内容的新页面。
  • 页面的新地址:如果你的原网站有访问量很高的页面,在 SERP 中排名很高,重定向将帮忙你把这个 URL 映射到新的地址。对于这种状况,你必须确定你用于重定向的旧网页没有隐没。
  • 须要删除页面:为所有你须要删除的页面创立 HTTP 重定向,确保不要用 404 谬误来吓唬访客。重定向将向谷歌或其余搜索引擎发出信号,旧链接的链接值应调配给重定向的 URL。

除此之外,还有一些其余场景值得思考。如果你须要简化和跟踪显示广告或应答紧急情况,重定向将派上用场。重定向有助于营销人员监测广告反应。同时,网络管理员能够在重定向的帮忙下修复任何失败的链接流动。

总之,谷歌对重定向的定义是管制抓取和索引。谷歌搜寻核心将 HTTP 重定向解释为进行无缝过渡的做法,通过几个 URL 拜访一个页面,纠正过期的 URL,并将用户从删除的页面重定向到新的页面,从而排除 404 谬误。

网络协议基础知识

互联网上用于传输数据和信息管制的托管服务器的根本协定被称为 HTTP。超文本传输协定容许万维网的互联网用户和服务器之间保护网站以及提供通信。

HTTP 是用于不同类型数据的信息系统的协定:分布式、超媒体和合作式。HTTP 的次要指标是提供基于互联网的无缝交互。

这种申请 - 响应协定通过 TCP 连贯工作。传输控制协议容许互联网与万维网上代表的任何可用辨认资源进行交互。用户与网页、视频和信息服务器的通信是通过 HTTP 进行的。这样,客户能够取得对网页的拜访。

值得注意的是,超文本传输协定应用代理。它们是用于内容辨认和剖析的非凡用处的过滤器。HTTP 代理避免用户低质量地发送和显示文件:

  • 特务软件的文本和图像
  • 畸形的多媒体文件
  • 网络攻击驱动的音频文件

HTTP 客户端是用来爱护用户的浏览器的。它向服务器发送申请信息。HTTP 服务端负责 HTTP 响应连贯。HTTP 代理的原理能够用以下形式来示意:

HTTP 协定的次要长处是:

  • HTTP 协定提供了先进的寻址计划。所有的 IP 地址在万维网上都变得容易辨认和确认。
  • 实现了在线资源的灵活性和可拜访性。HTTP 为扩大和插件下载提供了机会。这样,相干的数据就会显示进去。

HTTP 共有九种申请办法来执行不同的网络操作。

申请 形容
PUT 负责批改现存的网络资源。该申请也容许创立新的 URL。
HEAD 创立一个非凡用处资源的申请,不须要任何主体内容。
POST 负责将现有资源批改的内容增加到新的网页上。
DELETE 删除指定资源。
GET 申请残缺资源。
TRACE 显示用户拜访的网络资源的任何更新和变动。
OPTIONS 展现用户能够拜访的 HTTP 办法列表。
CONNECT 负责将基于申请的连贯转换为 TCP/IP 隧道。
PATCH 使得对网络资源进行局部批改成为可能。

状态码

HTTP 状态码是决定服务器响应的非凡元素。有必要理解每一个 HTTP 状态码,以明确问题并解决它们。

有五类状态码须要思考。有信息响应、胜利、重定向、客户谬误和服务谬误五种类别。第一个数字示意 HTTP 状态码的类别。让咱们认真看看每个响应的类别:

  • 1xx 信息响应:这类状态码告知了申请的接管状况。它意味着步骤持续。比如说,100 示意 continue。
  • 2xx 胜利:这些状态码是对于对申请的了解和接管。比如说,200 示意 OK。
  • 3xx 重定向:这类状态码示意须要一些非凡目标的动作来实现申请。比如说,301 示意 redirection。
  • 4xx 客户端谬误:这类响应状态码标记着该申请不能进行。此外,它可能意味着申请中存在谬误的语法。比如说,400 示意 bad request。
  • 5xx 服务端谬误:这类 HTTP 状态码是对于由服务器的失败解决造成的,不胜利的服务器响应。比如说,500 示意 internal error。

值得注意的是,一些状态码和谬误对 SEO 有间接影响。尽管 1xx 和 2xx 对搜索引擎优化影响不大(有 200 响应是最好的做法),但 3xx、4xx 和 5xx 的会对抓取和索引你的网页产生负面影响。你应该始终留神解决 4xx 和 5xx 状态码和谬误,因为这对你网站的整体排名十分无害。

HTTP 300 状态码兴许对 SEO 表演外围角色。这类状态码负责将所有的 SEO 价值从你的旧网址传递到新网址。因而,有必要开掘每个 3xx 状态码的含意(长期或永恒重定向、代理、多重选择,等等)。

3xx 状态码

3xx 状态码示意不同类型的 HTTP 重定向。营销人员通常应用 3xx 状态码来监测和剖析用户体验、网站用户的行为以及网站的 SEO 性能。DataTracker 资源确定了由 3xx HTTP 状态码衍生的四种重定向类型:

  • 像 301,302,307 这样的重定向示意指标资源曾经被调配了一个新的 URL。
  • 300 重定向提供多种抉择(依据申请抉择匹配的网络资源)。
  • 303 重定向提供了对已实现申请的间接响应,如果 Location 字段能够辨认的话。
  • 304 重定向提供 HTTP 重定向到之前缓存的后果中。

3xx 状态码呈现在有必要表明服务器的重定向响应时。3xx HTTP 状态码的另一个例子是为被删除的页面放弃其排名。此外,当有必要修复破损的 URL 时,重定向也会派上用场。

当谬误产生时,重定向不冀望看到其余响应码。例如,重定向不能解决 1xx、4xx、5xx 的问题(Not Implemented = 501;Bad Gateway = 502;Unprocessable Entity = 420)。

上面就让咱们认真看看每个 3xx 状态码,理解它们对 SEO 和网站排名的影响。

300 Multiple Choices

这些状态码通常用于 REST APIs。给予浏览器多种抉择,它应该在满足申请的资源中进行抉择。例如,如果你有多个视频格式选项或不同的文件扩展名须要指定,300 状态码就会派上用场。

应用 300 重定向另一个起因是,为了满足内容协商的要求。服务器告诉用户代理可用的示意类型供其抉择。认真看一下这个例子,看看 300 重定向的作用。

HTTP/1.1 300 Multiple Choices
Server: curveball/0.3.1
Access-Control-Allow-Headers: Content-Type,User-Agent
Access-Control-Allow-Origin: *
Link: </foo> rel="alternate"
Link: </bar> rel="alternate"
Content-Type: text/html
Location: /foo

你能够在代码中看到 /foo/bar。当两个选项都能够抉择时,地址就被指定了。

301 Moved Permanently

还有一个状态码通常用于 REST APIs 中。该状态码次要作用是,永久性的重定向。如果你须要在短时间内应用重定向,301 重定向就不适宜。在 301 HTTP 状态码的帮忙下,互联网用户和搜索引擎都被带到一个新的 URL。该类型的最佳重定向计划是以后一个页面不打算复原的时候。

让咱们借助一个实在的案例来解释永恒 HTTP 重定向的概念:

  • FAQ 页面托管在子域名上面(https://faq.website.com)。
  • 你决定挪动 FAQ 页面到子文件夹下(https://www.website.com/faq/)。
  • 如果子域名被删除了,404 页就会侵害网站的 SEO。
  • 用户体验也受到影响,所以重定向是必须的。
  • 搁置一个 301 重定向,避免用户拜访旧的 URL。
  • 搜索引擎也将被重定向到新的 FAQ 页面。

让咱们再看个永久性重定向的例子(301 重定向)。在这里咱们能够看到一个 301 HTTP 状态码,用于将用户和搜索引擎重定向到新的地址。

程序员常常应用 .htaccess 文件来实现不同类型的重定向,包含 301 重定向。有两种 301 重定向的办法须要思考到:

  • 整个域名能够被重定向到一个新的网站。在 Redirect 301 后增加你感兴趣的域名:

    Redirect 301 /[http://www.website.com/](http://www.website.com/)
  • 如果你只想重定向一个页面,有必要在 Redirect 301 前面指定旧的 URL:

    Redirect 301 /oldurl/ [http://www.website.com/newurl/](http://www.website.com/newurl/)

这里要提到的是,各种编码方法须要不同的重定向实现。

须要留神的是,JavaScript 对于 SEO 实际来说远不是最佳抉择。谷歌有时会对 JavaScript 中的 301 重定向进行谬误的解释。如果你对 SEO 敌对的永恒重定向感兴趣,最好抉择下面列出的办法之一。

302 Found

在 REST API 中还有一个比拟罕用的状态码。与永恒的 301 重定向相比,302 重定向是在须要一些长期重定向时应用。比如说,你晓得这个 URL 的扭转,并不久后重定向,或者以前的页面会在某个工夫点复原。还有一种状况是,你要删除旧的页面,但你须要重定向所有的流量,并保留长期 URL 上的排名分数。应用 302 状态码的其余起因包含:

  • 迁徙到一个新的,但却是长期的域名
  • 更改网站构造(长期地)

值得注意的是,302 重定向的施行办法与 301 的施行办法雷同。出于 SEO 敌对的目标,防止应用 JavaScript 编码的倡议在这里也实用。

比如说,在下面的图片中,咱们能够看到 302 状态码是如何用于网站的长期地址。请留神,你也能够将这种类型的重定向用于你的网站 / 页面从新设计,一些测试,促销流动的运行,以及其余短期流动和安顿。

303 See Other

该 HTTP 状态码容许 REST API 以援用的模式向客户发送倡议。303 重定向的一个显著特点是其无缓存性能。但值得一提的是,重定向的第二个会话将被缓存。

303 状态码对 SEO 来说并不重要。然而,当另一个 URL 能够被举荐而不是一个曾经拜访过的 URL 时,它能够帮忙进步用户友好度并实现营销目标。

304 Not Modified

这个状态码和下面列出的其余 3xx 状态码一样,罕用于 REST APIs 中。当不须要从新传输时,能够应用该状态码。如果页面还没有被批改,也能够使重定向无缓存。

让咱们通过一个 304 重定向的例子来认真看看。该状态码是在申请办法和申请 URL 上面指定的。

305 Use Proxy

该 HTTP 状态码目前已被废除。一些浏览器不容许应用这种类型的重定向。例如,Mozilla Firefox 和 Internet Explorer 出于平安起因阻止用户应用 305 重定向。次要是因为用于申请和提供拜访网络资源的繁多代理。当波及到一些浏览器时,这种办法是有危险的。

306 Switch Proxy(未应用)

程序员当初不应用这个状态码了。它的次要思维是当一些非凡目标的申请产生时有机会切换代理。如果编码中呈现了这种类型的重定向,用户将默认返回到指定的代理。

307 Temporary Redirect

这个 HTTP 状态码与 302 状态码十分类似。这就是为什么重定向所需的实现办法与 301 和 302 是一样的。让咱们来开掘一下 307 和 302 的区别,因为它们都是对于长期的 HTTP 重定向。对于 307 重定向,有两种意见须要思考:

  • 307 和 302 重定向都提供了内容的长期重定向。当产生一些疾速变动时,倡议应用这两个状态码其中的一个。
  • 302 和 307 长期重定向是不同的。302 状态码在扭转 HTTP 办法方面值得注意。同时,307 重定向没有扭转 HTTP 办法。

这意味着 302 重定向中 GET 申请办法的任何扭转都会导致网络上不可预测的后果。这不会产生在 307 重定向中。下图是一个应用 307 长期重定向的例子。

308 Permanent Redirect

这个状态码被认为是实验性的,但它的语义与 301 永恒重定向雷同。308 和 301 重定向的惟一区别是是否能够批改 HTTP 办法。301 重定向容许用户代理批改应用的 HTTP 办法,而 308 状态码则意味着重定向的 HTTP 申请办法是不可扭转的。

308 HTTP 状态码是相当新的,因为它在 2015 年才被引入。一些浏览器依然无奈辨认 308 重定向,并向用户显示空的页面,而不是重定向的页面(例如,Internet Explorer 11)。这就是为什么 301 永恒重定向是最好的,因为它有更好的反对和对 SEO 的敌对。308HTTP 状态码的反对度少的可怜,搜寻爬虫并不总是能辨认它。

重定向比照

300 重定向对 SEO 很重要。如果你须要从一个旧页面转移到另一个页面,并且不想节约它的排名,倡议应用长期或永恒重定向。你能够应用以下几个 HTTP 3xx 状态码:

  • 301 或 308 永恒重定向
  • 302,303,307 长期重定向

当波及到长期和永恒重定向时,301 和 302 HTTP 状态码总是被优先思考。但这些 HTTP 3xx 状态码之间是有区别的。上面是第一种状况。你曾经决定永远删除你的旧网站。然而这个 URL 常常被拜访,有一个倡议是应用 301 永恒重定向,以放弃你的网站排名。

第二种状况是当你重组你的网站并在一些短期内保留你的 SERP。该网站将失去 SEO 价值。搜索引擎会保留你的旧网址,但在重定向后开始索引你的新页面。如果你确定会回到旧的 URL,最好应用 302 重定向(长期)。

301 vs 302

参数比照 301 302
重定向类型 永恒 长期
什么时候应用 用于重定向行将被删除的旧网页。 用于重定向将被复原的旧网页。
重定向语法 被扭转 被扭转

永恒重定向

参数比照 301 308
重定向类型 永恒 永恒
什么时候应用 用于重定向行将被删除的旧网页。 用于重定向将被删除的旧网页。
特别之处 更适宜于 SEO;被爬虫很好地辨认;用于永恒重定向;对重定向的页面有充沛的链接权重。 实验性的;反对无限;用于防止对 GET 办法的谬误扭转。
重定向语法 被扭转 不被扭转

301 对谷歌来说有更强的规范性。同时,谷歌团队的代表示意,308 和 301 HTTP 状态码提供了雷同的重定向和 SEO 驱动的属性。

长期重定向

参数比照 302 307
重定向类型 长期 长期
什么时候应用 用于重定向将被复原的旧网页。 用于重定向将被复原的旧网页。
特别之处 用于长期重定向;被搜寻爬虫很好地辨认。 更适宜于 SEO;用于防止对 GET 办法的谬误扭转;将客户的申请转移到另一个主机上。
重定向语法 被扭转 不被扭转

须要哪种状态码

必不可少的 HTTP 300 状态码是 301、302 和 307,因为它们用于长期和永恒重定向。这些状态码被倡议用于确保 SEO 敌对的网站迁徙、URL 变更、网站重组和更新、域名变更或网站页面的短期从新公布流动。

值得注意的是,重定向的过程有一些要求,以满足谷歌的排名规范。次要有五个提醒要记住:

  • 只在 301 重定向后转移到一个新的域名。谷歌不喜爱反复的内容,并会因为这个谬误而惩办你。
  • 在你的域名的 http://http://www版本之间设置 301、302 和 307 重定向。这对你的搜索引擎优化至关重要。
  • 思考谷歌对重定向链的偏好。不要间断超过两个重定向。在适度应用重定向的状况下,爬虫将进行拜访你的网站。
  • 应用有用的工具,如谷歌搜寻控制台、HTTP 状态、WTOOLS HTTP 查看器、重定向查看器或 SE 排名网站审计工具,以简化 HTTP 状态码监测和施行及时更改。
  • 如果你要从一个网站迁徙到另一个网站,请从新布局你的 SEO 策略。思考关键词搜寻、新的内容营销策略和其余根本筹备工作。

以上就是本文的所有内容,如果对你所有帮忙,欢送点赞、珍藏、转发~

正文完
 0