⼀、HTTP状态码
 HT T P 状态码( HT T P S t a t u s Co d e )是⽤来表示⽹⻚服务器超⽂本传输协议响应状态的 3 位数字代  
 
 码。它由 RFC 2 6 1 6 规范定义,并得到 RFC 2 5 1 8 、 RFC 2 8 1 7 、 RFC 2 2 9 5 、 RFC 2 7 7 4 与 RFC  
 
 4 9 1 8 等规范扩展。简单来说, HT T P 状态码是服务器告诉客户端当前请求响应的状态,通过状态码可以  
 
 判断和分析服务器的运⾏状态。  
 
⼆、常⻅状态码
1xx - 信息类
1 x x状态码表示请求已被接受,需要继续处理。这类响应是临时响应,只包含状态⾏和某些可选的响应 头信息,并以空⾏结束。常⻅状态码有:
 100 (继续):客户端继续发送请求,这是临时响应,⽤来通知客户端部分请求已经被服务  
 
 器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽  
 
 略这个响应。服务器必须在请求完成后向客户端发送⼀个最终响应。  
 
 
 101 (切换协议):服务器根据客户端的请求切换协议,主要⽤于 WebSock e t 或 HTTP/2 升  
 
 级 
 
2xx - 成功类
2 x x状态码表示请求已成功被服务器接收、理解,并接受。常⻅状态码有:
 200 (成功):请求已成功,请求所希望的响应头或数据体将随此响应返回。  
 
 201 (已创建):请求成功并且服务器创建了新的资源。  
 
 204 (⽆内容):服务器成功处理请求,但没有返回任何内容。  
 
3xx - 重定向类
 3 x x 状态码表示要完成请求,需要进⼀步操作。通常,这些状态代码⽤来重定向。常⻅状态码有:  
  301 (永久重定向):请求的⽹⻚已永久移动到新位置。服务器返回此响应时,会⾃动将请  
  求者转到新位置。  
  302 (临时重定向):服务器⽬前从不同位置的⽹⻚响应请求,但请求者应继续使⽤原有位  
  置来进⾏以后的请求。  
  304 (未修改):服务器告诉客户端可以直接使⽤缓存的版本,⽆需重新请求。  
  307 (临时重定向):服务器⽬前从不同位置的⽹⻚响应请求,但请求者应继续使⽤原有位  
  置来进⾏以后的请求。  
 4xx - 客户端错误类
 4 x x 状态码代表了客户端看起来可能发⽣了错误,妨碍了服务器的处理。常⻅状态码有:  
  400 (错误请求):服务器不理解请求的语法。  
  401 (未授权):请求要求身份验证。对于需要登录的⽹⻚,服务器可能返回此响应。  
  403 (禁⽌):服务器拒绝请求。  
  404 (未找到):服务器找不到请求的⽹⻚。  
 5xx - 服务器错误类
 5 x x 状态码表示服务器⽆法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误  
  或者异常状态发⽣。常⻅状态码有:  
  500 (服务器内部错误):服务器遇到错误,⽆法完成请求。  
  502 (错误⽹关):服务器作为⽹关或代理,从上游服务器收到⽆效响应。  
  503 (服务不可⽤):服务器⽬前⽆法使⽤(由于超载或停机维护)。  
  三、适⽤场景
 不同的状态码适⽤于不同的场景,下⾯给出⼀些常⻅的适⽤场景:  
  200 :表示请求成功,服务器正确处理了请求。  
  204 :表示服务器正确处理了请求,但没有返回任何内容,通常⽤于删除操作等。  
  301 :表示永久重定向,请求的资源已经被永久移动到新的位置。  
  400 :表示客户端请求错误,服务器⽆法理解请求的语法。  
  403 :表示请求被服务器拒绝,没有权限访问该资源。  
  404 :表示请求的资源不存在,服务器找不到请求的⽹⻚。  
  不同的状态码对应不同的请求处理情况,客户端可以根据状态码来判断请求是否成功,并做相应处理。