- 用户可以知道服务端是正常处理了请求还是出现了错误
-
一个三位数字的状态码和一个字符串格式状态消息组成,数字便于程序处理,消息字符串方便程序员理解
HTTP状态码分为五大类
200(OK):处理成功,响应正文中包括处理后的资源
201(Created):资源创建成功,响应正文为空(一般用于POST)
202(Accepted):已接收请求,并成功开始异步执行,但还未处理完成(一般不怎么用)
204(NO Content):处理成功,但不需要内容,前端不需要输出任何数据时(比如判断资源是否存在,删除或更新)
301(Moved Permanently):重定向(永久)
303(See Other):重定向到另一个URI
304(Not Modified)资源未修改,可从缓存中读取,响应正文不包括任何内容(与204一样)
307(Temporary Redirect)服务端不处理客户端的请求,客户端应请求另一个URI,URI在响应头的Location里
400(Bad Request):客服端错误请求,语法或参数有误,服务器无法理解,如发送一个不合法的JSON
401(Unauthorized):用户还没有登录
403(Forbidden):用户已经登录,但没有访问权限
404(NotFound):请求错误,请求的资源不存在
405(Method Not Allowed):HTTP请求方法错误,响应中包括Allow项,表示当前资源允许请求方式列表
406(Not Acceptable):不支持请求中指定的资源格式(由Accept消息头指定)==内容协商
409(Conflict):资源状态存在冲突,请求无法完成(通常对PUT请求的处理)
412(Precondition Failed):客服端请求头指定了一个或多个先决条件,服务器验证这些条件失败
415(UnSuppported Media Type)不支持请求中指定的资源格式(由Content-Type消息头指定)==内容协商
500(Internal Server Error):服务器内部错误,无法完成请求
503(Service Unavailable):由于临时的服务器维护或过载,服务器无法处理当前请求