- 
“400    Bad    Request ”是一个通用的错误码,表示请求报文有错误,但具体是数据格式错误、缺少请求头还 是URI超长它没有明确说,只是一个笼统的错误,客户端看到400只会是“一头雾水”“不知所措”。所 以,在开发Web应用时应当尽量避免给客户端返回400,而是要用其他更有明确含义的状态码。
 
- 
“403    Forbidden ”实际上不是客户端的请求出错,而是表示服务器禁止访问资源。原因可能多种多样,例 如信息敏感、法律禁止等,如果服务器友好一点,可以在body里详细说明拒绝请求的原因,不过现实中通 常都是直接给一个“闭门羹”。
 
- 
“404    Not    Found ”可能是我们最常看见也是最不愿意看到的一个状态码,它的原意是资源在本服务器上未 找到,所以无法提供给客户端。但现在已经被“用滥了”,只要服务器“不高兴”就可以给出个404,而我 们也无从得知后面到底是真的未找到,还是有什么别的原因,某种程度上它比403还要令人讨厌。
 
- 
405    Method    Not    Allowed:不允许使用某些方法操作资源,例如不允许POST只能GET;
 
- 
406    Not    Acceptable:资源无法满足客户端请求的条件,例如请求中文但只有英文;
 
- 
408    Request    Timeout:请求超时,服务器等待了过长的时间;
 
- 
409    Conflict:多个请求发生了冲突,可以理解为多线程并发时的竞态;
 
- 
413    Request    Entity    Too    Large:请求报文里的body太大;
 
- 
414    Request-URI    Too    Long:请求行里的URI太大;
 
- 
429    Too    Many    Requests:客户端发送了太多的请求,通常是由于服务器的限连策略;
 
- 
431    Request    Header    Fields    Too    Large:请求头某个字段或总体太大;