HTTP状态码是什么

小白 2020-05-05 10:52:40
QA

HTTP状态码是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的,所有状态码的第一个数字代表了响应的五种状态之一。

HTTP 状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的 3 位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是 HTTP / 1.1 标准(RFC 7231)的一部分。

HTTP状态码是什么

HTTP 状态码的官方注册表由互联网号码分配局(Internet Assigned Numbers Authority)维护。

微软互联网信息服务 (Microsoft Internet Information Services)有时会使用额外的十进制子代码来获取更多具体信息,但是这些子代码仅出现在响应有效内容和文档中,而不是代替实际的 HTTP 状态代码。

消息

这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。

100 Continue

客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。

101 Switching Protocols

服务器已经理解了客户端的请求,并将通过 Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在 Upgrade 消息头中定义的那些协议。

只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的 HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。

成功

这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。

200 OK

请求已成功,请求所希望的响应头或数据体将随此响应返回。出现此状态码是表示正常状态。

201 Created

请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随 Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 '202 Accepted'。

202 Accepted

服务器已接受请求,但尚未处理。正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。在异步操作的场合下,没有比发送这个状态码更方便的做法了。

返回 202 状态码的响应的目的是允许服务器接受其他过程的请求(例如某个每天只执行一次的基于批处理的操作),而不必让客户端一直保持与服务器的连接直到批处理操作全部完成。在接受请求处理并返回 202 状态码的响应应当在返回的实体中包含一些指示处理当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便用户能够估计操作是否已经完成。

重定向

这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。

当且仅当后续的请求所使用的方法是 GET 或者 HEAD 时,用户浏览器才可以在没有用户介入的情况下自动提交所需要的后续请求。客户端应当自动监测无限循环重定向(例如:A->A,或者 A->B->C->A),因为这会导致服务器和客户端大量不必要的资源消耗。按照 HTTP/1.0 版规范的建议,浏览器不应自动访问超过 5 次的重定向。

请求错误

这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个 HEAD 请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。

如果错误发生时客户端正在传送数据,那么使用 TCP 的服务器实现应当仔细确保在关闭客户端与服务器之间的连接之前,客户端已经收到了包含错误信息的数据包。如果客户端在收到错误信息后继续向服务器发送数据,服务器的 TCP 栈将向客户端发送一个重置数据包,以清除该客户端所有还未识别的输入缓冲,以免这些数据被服务器上的应用程序读取并干扰后者。

服务器错误

(5、6 字头)

这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。除非这是一个 HEAD 请求,否则服务器应当包含一个解释当前错误状态以及这个状况是临时的还是永久的解释信息实体。浏览器应当向用户展示任何在当前响应中被包含的实体。

这些状态码适用于任何响应方法。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Cloudflare Pingora

    Pingora是什么

    Pingora 是 Cloudflare 使用 Rust 在内部构建的新 HTTP 代理,它每天处理超过 1 万亿个请求,提高了 Cloudflare 的性能,并为 Cloudflare 客户带来了许多新功能,同时只需要 Cloudflar
  • 网页 403 Web page 403

    网页403禁止访问是怎么回事如何解决

    网页403禁止访问可能是IP被列入黑名单,可更换IP或联系管理员移除IP;短时间访问次数过多,可歇会儿再访问;还有防火墙或安全设置问题,检查安全设置没有阻止访问该网站;服务器过载或维护导致;网页脚本文件权限问题,需要修改文件夹的安全属性。
  • 网页 500 错误 Webpage 500 error

    网页500错误怎么解决

    遇到网页的500内部服务器错误时,网站管理员需要检查服务器日志,检查网站代码,检查服务器配置,检查资源限制,联系托管服务提供商;普通用户可以尝试刷新页面,检查网络连接,清除缓存或联系网站管理员来解决。
  • 网页 504 错误 Webpage 504 error

    网页出现504是什么原因造成的

    网页出现504错误的常见原因是服务器超时,这可能是因为服务器过载或响应服务器速度过慢;网络延迟或不稳定导致;错误的服务器配置;域名系统 设置不正确或DNS服务器遇到问题;第三方服务故障。可以刷新网页、检查网络连接、清理DNS缓存来解决问题。
  • CORS 错误 跨域资源共享

    CORS错误是什么

    CORS(跨域资源共享)错误是互联网安全中的常见问题,出现在跨域请求时,可能导致数据泄露或无法正常加载资源。解决CORS错误的方法包括服务器端配置CORS策略、使用代理、JSONP等客户端解决方案,以及通过浏览器控制台和跨域请求工具进行调试。
  • RPC 和 REST RPC and REST

    RPC和REST的区别是什么

    区别在于RPC是一种面向方法的范式,强调远程调用函数,使用自定义协议,二进制格式传输数据,支持多种编程语言和平台 ;REST是一种面向资源的范 式,强调对URI所代表的资源进行操作,使用HTTP协议,使用文本格式传输数据。