HTTP协议的状态码由三位数字组成,用于表示客户端HTTP请求的返回结果。这些状态码可以分为五大类,从100到599。以下是这些类别及其常见状态码和它们的含义:
1xx(信息性状态码):这些状态码表示临时的响应。客户端应继续其请求。
100 Continue:客户端应继续其请求。
101 Switching Protocols:服务器根据客户端的请求切换协议。
2xx(成功状态码):这些状态码表示请求已成功被服务器接收、理解并接受。
200 OK:请求成功。一般用于GET与POST请求。
201 Created:请求成功并且服务器创建了新的资源。
202 Accepted:服务器已接受请求,但尚未处理。
204 No Content:服务器成功处理了请求,但没有返回任何内容。
3xx(重定向状态码):要完成请求必须进一步执行的动作。通常,这些状态码用来重定向。
301 Moved Permanently:请求的网页已永久移动到新位置。
302 Found:临时性重定向。
304 Not Modified:自从上次请求后,请求的页面未修改过。
4xx(客户端错误状态码):请求包含错误或无法完成。
400 Bad Request:服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。
401 Unauthorized:请求要求身份验证。
403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。
404 Not Found:服务器无法根据客户端的请求找到资源(网页)。
405 Method Not Allowed:请求行中指定的请求方法不能被用于请求相应的资源。
5xx(服务器错误状态码):服务器在处理请求的过程中发生了错误。
500 Internal Server Error:服务器内部错误,无法完成请求。
501 Not Implemented:服务器不支持当前请求所需要的某个功能。
502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503 Service Unavailable:由于临时的服务器维护或者过载,服务器当前无法处理请求。
504 Gateway Timeout:作为网关或者代理工作的服务器没有从上游服务器收到及时的响应。
这些状态码对于理解HTTP请求和响应的流程,以及调试网络问题非常重要。