客户端与服务器交互常见的状态码

一. 1XX状态码:消息响应

  • 100 (continue)
    客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务端接收。若请求已经完成,忽略这个响应。

二. 2XX状态码:成功响应

  • 200 (OK)
    请求成功
  • 201 (Created)
    请求成功,而且有一个新的资源已经根据请求的需要而建立,通常是PUT请求得到的响应码。
  • 202 (Accepted)
    服务器已接受请求,但尚未处理,即对请求的处理无保证的。这个状态码被设计用来将请求交由另外一个进程或服务器来进行处理,或对请求按批处理的情形。202状态码适合异步任务或处理时间比较长的请求,避免http链接被一直占用,超时这些情况。举个例子:client -> server(返回202,包含taskId),过一段时间后,(例如10s)client获取taskId发送get请求去获取任务结果。
  • 203
    未授权信息,请求成功,但返回的内容不是原始服务器的内容,有可能是代理修改过的。

三. 3XX状态码:重定向

  • 300 该请求有多种可能的响应,服务器没有任何标准可以遵循去代替用户来进行选择;
  • 301 永久的重定向。该状态码表示所请求的URI资源路径已经改变,新的URL会在响应的Location:头字段里找到。
  • 302 临时重定向,该状态码表示所请求的URI资源路径临时改变,并且还可能继续改变,因此客户端以后访问还的继续使用该URI。新的URL会在响应的Location:头字段里找到。
  • 303 服务端引导客户端使用get请求来访问存放资源的新的URI。
  • 304 告诉我客户端,所请求的内容距离上次访问没有变化,客户端可以直接从浏览器里获取改资源。

四. 4XX状态码:客户端错误

  • 400 (Bad Request)
    客户端发送异常请求,一般来讲主要是两种情况:1.请求语义无法被服务端理解,比如错误使用post和get方式;2.或者请求参数有误
  • 401 未授权(最常用到)。需要验证身份后才能获取所请求的内容
  • 403 客户端没有权利访问所请求内容,服务器拒绝本次请求
  • 404 服务器找不到所请求的资源

五. 5XX状态码:服务端错误

  • 500 内部服务器错误
  • 501 服务端不支持该种类型的请求(POST GET PUT HEAD)
  • 502 Bad GateWay网关错误,服务器作为网关从上游服务器获取到一个无效的http响应
  • 503 由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状态是临时的,并且在一段时间后恢复

你可能感兴趣的:(客户端与服务器交互常见的状态码)