HTTP响应状态码是服务器在处理客户端请求后返回的一组三位数字代码,用于表示请求的处理结果和状态。这些状态码根据第一个数字的不同被分为五大类,每类代表不同的含义。以下是HTTP响应状态码的分类及其代表的含义:
1. 1xx(信息性状态码)
- 100 Continue:客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。
- 101 Switching Protocols:服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。
2. 2xx(成功状态码)
- 200 OK:请求成功。请求已成功处理,并且响应体中包含了请求的结果。
- 201 Created:请求成功,服务器创建了新资源。通常这是PUT方法得到的响应码。
- 202 Accepted:请求已接受,但处理尚未完成。
- 203 Non-Authoritative Information:服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。
- 204 No Content:请求成功,但响应报文不含实体的主体部分。
- 205 Reset Content:服务器成功处理了请求,且没有返回任何内容,但要求客户端重置文档视图(例如,清除表单内容以重新输入)。
- 206 Partial Content:服务器成功处理了部分GET请求。
3. 3xx(重定向状态码)
- 300 Multiple Choices:客户端请求的资源有多个可能的响应,用户或用户代理必须选择一个。
- 301 Moved Permanently:请求的资源已永久移动到新的URI,应使用GET方法定向获取请求的资源。
- 302 Found:请求的资源现在临时从不同的URI响应请求。
- 303 See Other:服务器发送该响应用来引导客户端使用GET方法访问另外一个URI(与302类似,但HTTP/1.1规范建议使用303)。
- 304 Not Modified:客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。例如,请求的资源在客户端本地已有缓存,服务端根据请求头部信息判断这些资源信息是否经过修改,如果没有则返回304状态码,客户端可以直接使用缓存中的资源。
- 307 Temporary Redirect:请求的资源临时从不同的URI响应请求,但后续请求应继续使用原有的请求方法。
4. 4xx(客户端错误状态码)
- 400 Bad Request:请求报文中存在语法错误。
- 401 Unauthorized:发送的请求需要有通过HTTP认证的认证信息。
- 403 Forbidden:服务器拒绝请求,通常是因为请求没有权限访问该资源。
- 404 Not Found:请求的资源不存在。
- 405 Method Not Allowed:请求行中指定的方法不被允许。
- 406 Not Acceptable:根据用户发送的Accept头,请求的资源不可访问。
- 408 Request Timeout:客户端没有在用户指定的时间内完成请求。
- 409 Conflict:对当前资源状态,请求不能完成。
- 410 Gone:服务器上不再有此资源且无进一步的参考地址。
5. 5xx(服务器错误状态码)
- 500 Internal Server Error:服务器内部错误,无法完成请求。
- 501 Not Implemented:服务器不支持请求的函数。
- 502 Bad Gateway:服务器暂时不可用,通常是为了防止发生系统过载。
- 503 Service Unavailable:服务器过载或暂停维修。
- 504 Gateway Timeout:关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长。