HTTP状态码是由服务器返回给客户端的一组三位数字代码,用于告知客户端请求的结果。这些状态码按照类别分为五类,每类以不同的数字开头。下面是常见的HTTP状态码及其含义:
1. 信息响应(1xx)
这类状态码表示接收的请求需要进一步处理。
- 100 Continue:服务器已收到请求,并请客户端继续。
- 101 Switching Protocols:服务器将遵照请求切换协议。
2. 成功响应(2xx)
这类状态码表示请求已成功被服务器接收、理解,并接受。
- 200 OK:请求已成功,请求所希望的响应头或数据体将随此响应返回。
- 201 Created:请求被满足,资源已依照请求创建。
- 202 Accepted:请求已接受排队处理,但处理尚未完成。
- 204 No Content:服务器成功处理了请求,但没有返回任何内容。
3. 重定向消息(3xx)
这类状态码表示需要客户端采取进一步的操作才能完成请求。
- 300 Multiple Choices:请求的资源对应多个URI,客户端可以选择其中之一。
- 301 Moved Permanently:请求的资源已永久移动到新位置。
- 302 Found(有时也称为“Moved Temporarily”):请求的资源临时从不同的URI响应请求。
- 303 See Other:对应的响应可以在另一个URL上被找到,客户端应当采用GET的方式访问那个资源。
- 304 Not Modified:自从上次请求后,请求的网页未修改过。
4. 客户端错误(4xx)
这类状态码表示请求含有语义错误,或无法被服务器理解。
- 400 Bad Request:服务器无法理解请求的格式。
- 401 Unauthorized:请求要求用户的身份认证。
- 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。
- 404 Not Found:请求失败,请求所希望得到的资源未被在服务器上发现。
5. 服务器错误(5xx)
这类状态码表示服务器未能完成显然有效的请求。
- 500 Internal Server Error:服务器遇到了意料不到的情况,不能完成对请求的处理。
- 502 Bad Gateway:作为网关或代理工作的服务器从上游服务器收到了无效的响应。
- 503 Service Unavailable:服务器目前无法使用(由于超载或停机维护)。
- 504 Gateway Timeout:作为网关或代理工作的服务器从上游服务器等待响应请求的时间太长。
这些状态码帮助客户端了解请求的状态,并据此采取适当的措施。例如,404状态码告诉客户端请求的资源不存在,而500状态码则表明服务器端存在问题。