各类HTTP返回状态代码详解

各类HTTP返回状态代码详解

2023年7月9日发(作者:)

各类HTTP返回状态代码详解

⼀、HTTP状态码

如果某项请求发送到您的服务器要求显⽰您⽹站上的某个⽹页(例如,⽤户通过浏览器访问您的⽹页或 Googlebot 抓取⽹页时),服务器将会返回 HTTP 状态代码以响应请求。

此状态代码提供关于请求状态的信息, 告诉 Googlebot 关于您的⽹站和请求的⽹页的信息。⼀些常见的状态代码包括:200 – 服务器成功返回⽹页404 – 请求的⽹页不存在503 – 服务器暂时不可⽤

下⾯提供 HTTP 状态代码的完整列表。 点击链接可了解详情。 您也可以访问有关 HTTP 状态代码的 。

1xx:请求收到,继续处理2xx:操作成功收到,分析、接受3xx:完成此请求必须进⼀步处理4xx:请求包含⼀个错误语法或不能完成5xx:服务器执⾏⼀个完全有效请求失败1xx (临时响应)

表⽰临时响应并需要请求者继续执⾏操作的状态代码。

代码 说明100(继续)请求者应当继续提出请求。 服务器返回此代码表⽰已收到请求的第⼀部分,正在等待其余部分。101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功)表⽰服务器成功处理了请求的状态代码。

代码 说明200(成功)服务器已成功处理了请求。 通常,这表⽰服务器提供了请求的⽹页。 如果针对您的 ⽂件显⽰此状态,则表⽰Googlebot 已成功检索到该⽂件。201(已创建)请求成功并且服务器创建了新的资源。202(已接受)服务器已接受请求,但尚未处理。203(⾮授权信服务器已成功处理了请求,但返回的信息可能来⾃另⼀来源。息)204(⽆内容)服务器成功处理了请求,但没有返回任何内容。205(重置内容)206(部分内服务器成功处理了请求,但没有返回任何内容。 与 204 响应不同,此响应要求请求者重置⽂档视图(例如,清除表单内容以输⼊新内容)。206(部分内容)

服务器成功处理了部分 GET 请求。3xx (重定向)

要完成请求,需要进⼀步操作。 通常,这些状态代码⽤来重定向。 Google 建议您在每次请求中使⽤重定向不要超过 5 次。 您可以使⽤⽹站管理员⼯具查看⼀下 Googlebot 在抓取重定向⽹页时是否遇到问题。 诊断 下的 页⾯列出了由于重定向错误⽽导致 Googlebot ⽆法抓取的⽹址。

代码 说明300(多针对请求,服务器可执⾏多种操作。 服务器可根据请求者(⽤户代理)选择⼀项操作,或提供操作列表供请求者选择。种选择)301(永请求的⽹页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会⾃动将请求者转到新位置。 您应使久移动)⽤此代码告诉 Googlebot 某个⽹页或⽹站已永久移动到新位置。服 务器⽬前从不同位置的⽹页响应请求,但请求者应继续使⽤原有位置来进⾏以后的请求。 此代码与响应 GET 或 HEAD 请求的302(暂301 代码类似,会⾃动将请求者转到不同的位置,但您不应使⽤此代码来告诉 Googlebot 某个⽹页或⽹站已经移动,因为时移动)Googlebot 会继续抓取原有位置并编⼊索引。303(查请求者应当对不同的位置使⽤单独的 GET 请求来检索响应时,服务器返回此代码。 对于除 HEAD 之外的所有请求,服务器会⾃看其他位动转到其他位置。置)⾃从上次请求后,请求的⽹页未修改过。服务器返回此响应时,不会返回⽹页内容。如果⽹页⾃请求者上次请求后再也没有更改304(未过,您应当将服务器配置为返回此响应(称为 If-Modified-Since HTTP 标头)。 由于服务器可以告诉 Googlebot ⾃从上次抓取后修改)⽹页没有更改过,因此可节省带宽和开销。305(使请求者只能使⽤代理访问请求的⽹页。 如果服务器返回此响应,还表⽰请求者应使⽤代理。⽤代理)307(暂服 务器⽬前从不同位置的⽹页响应请求,但请求者应继续使⽤原有位置来进⾏以后的请求。 此代码与响应 GET 和 HEAD 请求的时重定301 代码类似,会⾃动将请求者转到不同的位置,但您不应使⽤此代码来告诉 Googlebot 某个页⾯或⽹站已经移动,因为向)Googlebot 会继续抓取原有位置并编⼊索引。

4xx(请求错误)

这些状态代码表⽰请求可能出错,妨碍了服务器的处理。

代码 说明400(错服务器不理解请求的语法。误请求)401(未请求要求⾝份验证。 对于需要登录的⽹页,服务器可能返回此响应。授权)403(禁服务器拒绝请求。 如果您看到 Googlebot 在尝试抓取您⽹站上的有效⽹页时收到此状态代码(可以在 Google ⽹站管理员⼯具诊⽌)断 下的⽹络抓取 页⾯上看到此信息),可能是您的服务器或主机拒绝 Googlebot 访问。服务器找不到请求的⽹页。 例如,如果请求服务器上不存在的⽹页,服务器通常会返回此代码。如果您的⽹站上没有 ⽂件,⽽您在 Google ⽹站管理员⼯具”诊断”标签的 上看到此状态,那么这是正确的状态。 但是,如果您有 ⽂件⽽⼜404(未看到此状态,则说明您的 ⽂件可能命名错误或位于错误的位置 (该⽂件应当位于顶级域名,名为 )。找到)如果您看到有关 Googlebot 尝试抓取的⽹址的此状态(在”诊断”标签的 HTTP 错误页上),则表⽰ Googlebot 追踪的可能是另⼀个页⾯的⽆效链接(是旧链接或输⼊有误的链接)。405(禁⽤的⽅禁⽤请求中指定的⽅法。法)406(不⽆法使⽤请求的内容特性响应请求的⽹页。可接受)可接受)⽆法使⽤请求的内容特性响应请求的⽹页。407(需此状态代码与 401(未授权)类似,但指定请求者应当授权使⽤代理。 如果服务器返回此响应,还会指明请求者应当使⽤的代要代理授理。权)408(请服务器等候请求时发⽣超时。求超时)409(冲服务器在完成请求时发⽣冲突。 服务器必须在响应中包含有关冲突的信息。 服务器在响应与前⼀个请求相冲突的 PUT 请求时可突)能会返回此代码,同时会附上两个请求的差异列表。410(已如果请求的资源已永久删除,服务器就会返回此响应。 该代码与 404(未找到)代码相似,但在资源以前存在⽽现在不存在的情删除)况下,有时会⽤来替代 404 代码。 如果资源已永久删除,您应当使⽤ 301 指定资源的新位置。411(需要有效长服务器不接受不含有效内容长度标头字段的请求。度)412(未满⾜前提服务器未满⾜请求者在请求中设置的其中⼀个前提条件。条件)413(请求实体过服务器⽆法处理请求,因为请求实体过⼤,超出服务器的处理能⼒。⼤)414(请求的 URI请求的 URI(通常为⽹址)过长,服务器⽆法处理。过长)415(不⽀持的媒请求的格式不受请求页⾯的⽀持。体类型)416(请求范围不如果页⾯⽆法提供请求的范围,则服务器会返回此状态代码。符合要求)417(未满⾜期望服务器未满⾜”期望”请求标头字段的要求。要求)

5xx (服务器错误)

这些状态代码表⽰服务器在尝试处理请求时发⽣内部错误。 这些错误可能是服务器本⾝的错误,⽽不是请求出错。

代码 说明500(服务器内部错误)501(尚未实施)502(错误⽹关)503(服务不可⽤)504(⽹关超时)服务器遇到错误,⽆法完成请求。服务器不具备完成请求的功能。 例如,服务器⽆法识别请求⽅法时可能会返回此代码。服务器充当⽹关或代理,从上游服务器收到⽆效响应。服务器⽬前⽆法使⽤(由于超载或停机维护)。 通常,这只是暂时状态。服务器充当⽹关或代理,但没有及时从上游服务器收到请求。505(HTTP 版本不受⽀持)服务器不⽀持请求中所⽤的 HTTP 协议版本。

⼆、404状态码

出现404状态码就证 明有URL地址的⽹页浏览不到。很多时候由于⽹站的改版,使很多旧版⽹站url地址失效。这是你需要建⽴404状态页来保证你⽹站通畅,能够达到⼀种回路 的效果。切记404状态页需要单独设计,不能直接在服务器端直接跳转回⾸页。否则,搜索引擎会⼤量抓取⽹站⾸页失误当成404页处理。

对HTTP404状态码的深度理解

HTTP 404 错误意味着链接指向的⽹页不存在,即原始⽹页的URL失效,这种情况经常会发⽣,很难避免,⽐如说:⽹页URL⽣成规则改变、⽹页⽂件更名或移动位置、导 ⼊链接拼写错误等,导致原来的URL地址⽆法访问;当Web 服务器接到类似请求时,会返回⼀个404 状态码,告诉浏览器要请求的资源并不存在。但是,Web服务器默认的404错误页⾯,⽆论Apache还是IIS,均⼗分简陋、呆板且对⽤户不友好,⽆法 给⽤户提供必要的信息以获取更多线索,⽆疑这会造成⽤户的流失。

因此,很多⽹站均使⽤⾃定义404错误的⽅式以提供⽤户体验避免⽤户流失。⼀般⽽⾔,⾃定义404页⾯通⽤的做法是在页⾯中放置⽹站快速导航链接、搜索框以及⽹站提供的特⾊服务,这样可以有效的帮助⽤户访问站点并获取需要的信息。HTTP404对SEO的影响

⾃ 定义404错误页⾯是提供⽤户体验的很好的做法,但在应⽤过程中往往并未注意到对搜索引擎的影响,譬如:错误的服务器端配置导致返回“200”状态码或⾃ 定义404错误页⾯使⽤Meta Refresh导致返回“302”状态码。正确设置的⾃定义404错误页⾯,不仅应当能够正确地显⽰,同时,应该返回“404”错误代码,⽽不是 “200”或“302”。虽然对访问的⽤户⽽⾔,HTTP状态码究竟是“404”还是“200”来说并没有什么区别,但对搜索引擎⽽⾔,这则是相当重要 的。

1.⾃定义404错误页返回“200”状态码

当搜索引擎蜘蛛在请求某个URL地址得到“404”状态回应时,即知道该 URL地址已经失效,便不再索引该⽹页,并向数据中⼼反馈将该URL地址表⽰的⽹页从索引数据库中删除,当然,删除过程有可能需要很长时间;⽽当搜索引擎 得到“200”状态回应时,则会认为该url地址是有效的,便会去索引,并会将其收录到索引数据库,这样的结果便是这两个不同的url地址具有完全相同的 内容:⾃定义404错误页⾯的内容,这会导致出现复制⽹页问题。对搜索引擎⽽⾔,特别是Google,不但很难获得信任指数TrustRank,也会⼤⼤ 降低Google对⽹站质量的评定。

在使⽤Google Sitemap,当提交XML格式⽹站地图⽂件时,⾕歌管理员⼯具会验证⽹站的⾝份以确保是⽹站合法的管理者。验证⽅式有两种:上传指定名称的html页 到⽹站根⽬录或者在⽹页meta区域添加⼀个标识⾝份的meta标签。通常是使⽤上传html⽹页的⽅式,但⾕歌管理员⼯具却提⽰⽹站根⽬录下找不到这个 ⽹页,这是⼀个很可怕的问题。

2.⾃定义404错误页使⽤Meta Refresh返回“302”状态码

常常看到许多⽹站的 ⾃定义404错误页⾯采取类似这样的形式:⾸先显⽰⼀段错误信息,然后,通过Meta Refresh将页⾯跳转到⽹站⾸页、⽹页地图或其他类似页。根据具体实现⽅式不同,这类404页⾯可能返回“200”状态码,也可能返回“302”,但 不论哪种,从SEO技术⾓度看,均不是⼀种合适的选择。

对“200”状态的情况我们上⾯已经谈过,那么,当404页⾯返回“302”时,搜 索引擎会怎么对待呢?从理论上说,对“302”错误,搜索引擎认为该⽹页是存在的,只不过临时改变了地址,仍然会索引收录该页,这样,同样会出现类似于 “200”状态码时的重复⽂本问题;其次,以⾕歌为代表的主流搜索引擎对302重定向的适⽤范围要求越来越严格,这类不当使⽤302重定向的情况存在很⼤ 的风险。

确保⾃定义404错误页⾯能够返回“404”状态码

在⾃定义404错误页⾯设置完毕后,⼀定要检查⼀下其是不是能够正确地返回“404”状态码。可以使⽤Server Header检查⼯具,输⼊⼀个不存在⽹页的url,查看⼀下HTTP Header的返回情况,确信其返回的是“404 Not found”。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688891012a181668.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信