很多人对于 HTTP 状态码多少会有些印象,因为我们浏览到无法打开的网页有时会提示502、404这类状态码。不过一般用户不会仔细研究这些状态码的定义,本文博主跟大家分享HTTP状态码是什么以及HTTP状态代码一览表。
一、HTTP状态码是什么
HTTP状态码(HTTP Status Code)是服务器对浏览器请求的回应,当你访问一个网站时,浏览器发送一个请求到站点的服务器,然后服务器用一个三位数的代码来回应浏览器的请求,这个就是HTTP状态码。正常情况下我们不会看见这些状态编码,所以当出现时一般是网站出现错误,需要站点管理人员进行判别了解与除错。
了解状态代码以及如何使用它们将有助于快速诊断网站错误,从而最大限度地减少网站的停机时间,你甚至可以使用这些状态代码中的一部分来帮助搜索引擎和用户访问你的网站,例如301重定向会告诉搜索引擎蜘蛛和用户一个页面永久移动到另一个网页,HTTP状态码的正确性,也关系到SEO的友好程度。
二、常见的状态码类别
1、1xx - 状态信息(Informational):连接正在进行中。
2、2xx - 成功信息(OK):请求成功完成,服务器给了浏览器预期的响应。
3、3xx - 重新定向(Redirection):这个请求被收到了,但是需要重新定向。
4、4xx - 用户端错误(Client Error):请求已经发出,但页面无效,这是网站的错误,通常在页面不存在的情况下出现。
5、5xx - 服务器错误(Server Error):客户端的请求是有效的,但服务器未能完成请求。
三、HTTP状态代码一览表
1、1xx - 状态信息
100 Continue - 继续执行所发出的请求。
101 Switching Protocols - 切换协议。服务器根据客户端的请求切换协议,只能切换到更高级的协议。例如:切换到HTTP的新版本协议。
2、2xx - 成功信息
200 OK - 请求成功。一般用于GET与POST请求。
201 Created - 已创建。成功请求并创建了新的资源。
202 Accepted - 已接受。已经接受请求,但未处理完成。
203 Non-Authoritative Information - 非授权信息。请求成功,但返回的meta信息不在原始的服务器,而是一个副本。
204 No Content - 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档。
205 Reset Content - 重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域。
206 Partial Content - 部分内容。服务器成功处理了部分GET请求。
3、3xx - 重新定向
300 Multiple Choices - 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。
301 Moved Permanently - 永久移动。请求的资源已被永久的移动到新URL,返回信息会包括新的URL,浏览器会自动定向到新URL。
302 Found - 临时移动。与301类似,但资源只是临时被移动。
303 See Other - 查看其它地址。与301类似,使用GET和POST请求查看。
304 Not Modified - 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
305 Use Prox - 使用代理。所请求的资源必须通过代理访问。
306 Unused - 已经被废弃的HTTP状态码。
307 Temporary Redirect - 临时重定向。与302类似,使用GET请求重定向。
4、4xx - 用户端错误
400 Bad Request - 客户端请求的语法错误,服务器无法理解。
401 Unauthorized - 请求要求用户的身份认证。
402 Payment Required - 保留,将来使用。
403 Forbidden - 服务器理解客户端的请求,但是拒绝执行此请求。
404 Not Found - 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置“您所请求的资源无法找到”的个性页面。
405 Method Not Allowed - 客户端请求中的方法被禁止。
406 Not Acceptable - 服务器无法根据客户端请求的内容特性完成请求。
407 Proxy Authentication Required - 请求需代理的身份认证,与401类似,但请求者应使用代理进行授权。
408 Request Time-out - 服务器等待客户端发送的请求时间过长,超时。
409 Conflict - 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突。
410 Gone - 客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置。
411 Length Required - 服务器无法处理客户端发送的不带Content-Length的请求信息。
412 Precondition Failed - 客户端请求信息的先决条件错误。
413 Request Entity Too Large - 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
414 Request-URI Too Large - 请求的URL过长(URL通常为网址),服务器无法处理。
415 Unsupported Media Type - 服务器无法处理请求附带的媒体格式。
416 Requested Range Not Satisfiable - 客户端请求的范围无效。
417 Expectation Failed - 服务器无法满足Expect的请求头信息。
5、5xx - 服务器错误
500 Internal Server Error - 服务器内部错误,无法完成请求。
501 Not Implemented - 服务器不支持请求的功能,无法完成请求。
502 Bad Gateway - 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。
503 Service Unavailable - 由于超载或系统维护,服务器暂时无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中。
504 Gateway Time-out - 充当网关或代理的服务器,未及时从远端服务器获取请求。
505 HTTP Version not supported - 服务器不支持请求的HTTP协议的版本,无法完成处理。
对于每个专业SEO人员和网站站长来说,了解HTTP状态代码对SEO操作是非常重要的。比如网站显示5xx错误,你会马上知道这是服务器问题,从而进行排查。而出现4xx错误会影响用户的体验,这时可以自定义一个404友好页面,或者使用301重定向来指向正确的网页。
本文链接:http://so.lmcjl.com/news/232/