图解HTTP--HTTP状态码

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。
借助状态码,我们可以知道服务器端是正常处理了请求,还是出现了问题。

我们先来看一个图:

HTTP状态码

1XX

Informational信息性状态码
原因短语:接收的请求正在处理
由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。

2XX 成功

Success成功状态码
2XX的响应结果表明请求被正常处理了。

  • 200 OK
    表示从客户端发来的请求在服务器端被正常处理了。
  • 204 No Content
    该状态码表示服务器接收的请求已成功处理,但是返回的响应报文中不含实体的主体部分。
    一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用。
  • 206 Partial Content
    表示客户端进行了范围请求。而服务器端成功执行了这部分的请求。响应报文中包含由Content-Range指定范围的实体内容。

3XX重定向

  • 301 Move Permanently
    永久重定向
    表示,请求的资源已被分配到新的URI,以后应使用资源现在所指的URI。
    注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。

  • 302 Found
    临时重定向
    表示,请求的资源已被分配到新的URI,希望用户本次使用新的URI

  • 303 See Other
    该状态码表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源。(明确GET方法,其他与302相同)

  • 304 Not Modified
    表示请求成功,但是内容没有改变。服务器资源未改变,可直接使用客户端未过期的缓存。
    304状态码返回时,不包含任何响应的主体部分。
    特别需要注意的一点是,虽然304状态码被划分在重定向3XX类别中,但是其跟重定向并没有什么关系。
    搜索引擎会根据304状态码来判断页面是否产生变化,来决定是否需要抓取。如果页面有太多的304,并不利于SEO。

  • 307 Temporary Redirect
    临时重定向。该状态码有着和302Found相同的含义。

4XX客户端错误

  • 400 Bad Request
    表示请求报文中存在语法错误。需要修改请求内容再重新发送。

  • 401 Unauthorized
    表示发送的请求需要通过HTTP认证的认证信息。另外,若之前已经进行过一次请求,则表示用户认证失败。

  • 403 Forbidden
    表示请求资源的访问被服务器拒绝。未获得文件系统的访问授权,访问权限出现问题等列举的情况都可能产生403

  • 404 Not Found
    该状态码表示服务器上无法找到请求的资源。此外,也可以在服务器端拒绝请求且不想说明理由时使用。

5XX 服务器错误

  • 500 Internal Server Error
    表示服务器端在执行请求时发生了错误。

  • 503 Service Unavailable
    表示服务器暂时处于超负荷或者正在进行停机维护,现在无法处理请求。
    如果提前知道这个情况,最好写入Retry-After首部字段返回给客户端。

需要注意的是:状态码和真实状况不一致的情况,时有发生!

本文整理自《图解HTTP》和网络,之后将持续进行完善

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTTP状态码的分类 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的...
    薄凉_简书阅读 3,647评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,478评论 19 139
  • HTTP状态码(HTTP Status Code)表示http服务器对与请求HTTP响应状态的3位数字代码。它由 ...
    BeeNoisy阅读 5,817评论 0 8
  • 前言 HTTP状态码是用以表示[网页服务器]响应状态的3位数字代码,最常见的404错误就是其中之一通过状态码我们能...
    无聊数藏家阅读 4,134评论 0 4
  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 8,761评论 0 20