响应状态码简介
官方定义:HTTP状态码(HTTP Status Code)是用以表示网页服务器响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 与 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。
响应状态码分类
响应状态码可以分为以下5个大类:
- 1XX:响应中,临时状态码,表示请求已接收,告诉客户端应继续请求或如果它已完成则忽略
- 2XX:成功,表示请求已被接受,处理已完成
- 3XX:重定向,表示重定向到其他地方,请客户端再发一次请求以完成整个处理
- 4XX:客户端错误,表示处理发生错误,责任在客户端(如:请求了不存在的资源;客户端未授权;禁止访问等)
- 5XX:服务端错误,表示处理发生错误,责任在服务端(如:程序出现异常等)
常见的响应状态码
状态码 | 解释 |
---|---|
200(OK) | 客户端请求成功,即处理成功,这是我们最想看到的状态码 |
302(Found) | 指示所请求的资源已移动到由Location响应给定的URL,浏览器会自动重新访问到这个页面 |
304(Not Modified) | 告诉客户端,你请求的资源至上次取得后,服务端并未更改,直接用你的本地缓存。隐式重定向 |
400(Bad Request) | 客户端请求有语法错误,不能被服务器所理解 |
403(Forbidden) | 服务器端接收的请求,但是拒绝提供服务。比如,没有访问权限 |
404(Not Found) | 请求资源不存在,一般是URL路径输入有误,或者网站资源被删除了 |
405(Method Not Allowed) | 请求方式有误,比如应该用GET请求方式的资源,用了POST |
428(Precondition Required) | 服务器要求有条件的请求,告诉客户端要想访问该资源必须携带特定的请求头 |
429(Too Many Requests) | 指示用户在给定时间内发送了太多请求(“限速”),配合Retry-After(多长时间后可以请求)响应头一起使用 |
431(Request Header Fields Too Large) | 请求头太大,服务器不愿意处理请求,因为它的头部字段太大,请求可以在减少请求头域的大小后重新提交 |
500(Internal Server Error) | 服务器发生不可预期的错误。服务器出异常了,检查一下日志 |
503(Service Unavailable) | 服务器尚未准备好处理请求。服务器刚刚启动,还未初始化好 |