2xx:成功状态码
200(OK)——请求成功,表示从客户端发来的请求在服务器端被正常处理了。有响应体,服务器成功返回网页。
204(No Content)——表示从客户端发来的请求已被服务器端成功处理,但没有资源(网页)可返回。
3xx:重定向状态码
301(Moved Permanently)——永久性重定向,表示请求的资源(网页等)被永久转移到其他URL,以后应使用资源现在所指的 URL,会缓存。
302(Found)——临时性重定向,表示请求的资源已被分配了新的 URL,希望用户(本次)能使用新的 URL 访问,不会缓存。
304(Not Modified)——未修改,表示客户端缓存的版本是最近的。
307(Temporary Redirect)——临时重定向,请求的文档被临时移动到别处。
注意:状态码 302 与 307 之间的区别
当发送重定向请求时,307 状态码可以确保请求方法和消息主体不会发生变化。
如果使用302响应状态码,一些旧客户端会错误地将请求方法转化为GET:也就是说在Web中,如果使用了GET以外的请求方法,且返回了302状态码,则重定向后的请求方法是不可预测的。
但如果使用307状态码,之后的请求方法就是可预测的。
对于GET请求来说,两种情况没有区别。
4xx:客户端错误状态码
400——主要有两种形式:
1)bad request:表示“错误的请求”,即请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。
2)invalid hostname:表示“不存在的域名”
原因:前端提交的字段名称或者字段类型和后台的实体类不一样,或者前端提交的参数跟后台需要的参数个数不一致,导致无法封装。
401(Unauthorized)——请求要求用户的身份认证。
403(Forbidden)——禁止,服务器理解客户端请求,但是拒绝处理此请求,通常是权限设置所致。
404(Not Found)——请求的资源(网页等)不存在,即服务器无法根据客户端的请求找到资源(网页)。
原因:前端调用的URL不存在。
5xx:服务器错误状态码
500(Internal Server Error)——服务器内部错误,无法完成请求。
原因:500错误是传入的参数在业务处理中出现了异常。
502(Bad Gateway)——充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。
503(Service Unavailable) ——服务器繁忙,表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
504(Gateway Time—out)——充当网关或代理的服务器,未及时从远端服务器获取请求。