HTTP状态码(HTTP Status Codes)是用来表示服务器响应的结果。当你请求一个网页或者其他资源时,服务器会返回一个HTTP响应,其中包括一个状态码。状态码是一个3位数字,根据第一个数字的不同,可以分为5类。以下是一些常见的HTTP状态码:
1xx(信息响应):这类状态码表示服务器已接收请求,需要客户端继续操作。这类状态码较少使用。
100 Continue:表示服务器已接收到请求的初始部分,客户端应继续发送请求的其余部分,或者如果请求已完成,则忽略这个响应。
101 Switching Protocols:表示服务器已同意客户端的Upgrade请求头,并将切换到Upgrade请求头中指定的协议。例如,可以从HTTP/1.1切换到WebSocket。
2xx(成功):这类状态码表示请求已成功处理。
200 OK:请求成功,服务器已成功处理了请求。这是最常见的状态码,通常与GET和POST请求相关。
201 Created:服务器成功创建了资源,通常在POST或PUT请求后返回。
202 Accepted:服务器已接受请求,但尚未处理。服务器可能需要进一步处理,如长时间运行的操作。
204 No Content:请求成功处理,但没有需要返回的内容。通常在DELETE请求后返回。
205 Reset Content:服务器已成功处理请求,要求客户端重置视图。通常与PUT请求相关。
3xx(重定向):这类状态码表示请求需要进一步操作以完成。通常需要客户端采取进一步的操作,例如跟随新的URL。
300 Multiple Choices:请求的资源有多个表示,客户端可以选择一个或多个并按照响应中的链接进行访问。
301 Moved Permanently:请求的资源已永久移动到新的URL,所有将来的请求应该使用新的URL。
302 Found:请求的资源临时移动到新的URL,客户端应使用新的URL进行访问,但还可以继续使用旧的URL。
303 See Other:请求的资源已被分离为多个URL,客户端应该使用其他URL进行访问。
304 Not Modified:资源自上次请求后未发生更改,客户端可以使用缓存的版本。
307 Temporary Redirect:请求的资源暂时移动到新的URL,客户端应该使用新的URL访问资源,但仍然可以继续使用旧的URL。
4xx(客户端错误):这类状态码表示客户端请求包含错误或无法完成。
400 Bad Request:请求无效或者服务器无法理解。
401 Unauthorized:请求需要身份验证,客户端需要提供认证信息。
402 Payment Required:请求需要支付,目前此状态码很少使用。
403 Forbidden:服务器拒绝请求,通常是因为客户端没有访问权限。
404 Not Found:请求的资源在服务器上不存在。
405 Method Not Allowed:请求的HTTP方法不允许用于请求的资源。
406 Not Acceptable:服务器无法根据客户端的Accept请求头生成响应。
5xx(服务器错误):这类状态码表示服务器在处理请求时发生错误。客户端请求可能是有效的,但服务器无法正确处理。
500 Internal Server Error:服务器在处理请求时遇到内部错误。这是一个通用错误,可能是由于多种原因造成的。
501 Not Implemented:服务器不支持客户端请求的功能。例如,客户端请求的HTTP方法在服务器上不支持。
502 Bad Gateway:服务器作为网关或代理角色,从上游服务器接收到的响应无效。这可能是由于上游服务器的问题,而不是客户端请求的问题。
503 Service Unavailable:服务器暂时无法处理请求,通常是因为过载或维护。客户端应稍后重试。
504 Gateway Timeout:服务器作为网关或代理角色,未及时从上游服务器接收响应。这可能是由于上游服务器过载或故障造成的。
505 HTTP Version Not Supported:服务器不支持请求中使用的HTTP协议版本。通常意味着客户端需要降级到较旧的HTTP协议版本。
506 Variant Also Negotiates:服务器存在内部配置错误,导致透明内容协商失败。这是一个罕见的错误。
507 Insufficient Storage:服务器没有足够的存储空间来完成请求。这通常与WebDAV协议相关。
508 Loop Detected:服务器在处理请求时检测到无限循环。这可能是由于客户端请求错误或服务器内部问题。
510 Not Extended:客户端需要扩展请求,以便服务器完成处理。这可能是由于请求需要额外的认证或其他信息。
511 Network Authentication Required:客户端需要进行网络级别的身份验证,以便访问资源。这通常用于限制对特定网络资源的访问。