在 Linux 中,Nginx 常用的状态码主要分为以下几类,每类包含了一些常见的状态码及其含义:
1. 1xx 状态码(信息响应)
- 100 Continue:客户端应继续发送请求。通常用于客户端发送大量数据(如文件上传)时,先发送请求头,等待服务器确认后再发送正文。
- 101 Switch Protocols:服务器根据客户端请求切换协议,例如从 HTTP 切换到 WebSocket。
2. 2xx 状态码(成功)
- 200 OK:请求成功,服务器返回了请求的资源。
- 201 Created:请求成功,并且创建了新的资源,通常用于
POST
请求。 - 202 Accepted:请求已被接受,但尚未处理完成。
- 204 No Content:请求成功,但服务器没有返回任何内容。
- 206 Partial Content:服务器成功处理了部分 GET 请求,通常用于断点续传或分块下载。
3. 3xx 状态码(重定向)
- 301 Moved Permanently:请求的资源已被永久移动到新的位置,客户端应使用新的 URI。
- 302 Found:请求的资源临时移动到新的位置,客户端应继续使用原有 URI。
- 304 Not Modified:请求的资源未修改,客户端可以使用缓存版本。
- 307 Temporary Redirect:临时重定向,与 302 类似,但要求客户端使用相同的请求方法。
4. 4xx 状态码(客户端错误)
- 400 Bad Request:请求语法错误,服务器无法理解。
- 401 Unauthorized:请求需要用户认证。
- 403 Forbidden:服务器拒绝请求,通常是因为权限不足。
- 404 Not Found:请求的资源不存在。
- 405 Method Not Allowed:请求方法不被允许。
- 407 Proxy Authentication Required:请求需要通过代理认证。
- 413 Payload Too Large:请求体过大,服务器拒绝处理。
- 414 URI Too Long:请求的 URI 过长。
- 415 Unsupported Media Type:服务器不支持请求的媒体类型。
5. 5xx 状态码(服务器错误)
- 500 Internal Server Error:服务器内部错误,无法完成请求。
- 501 Not Implemented:服务器不支持请求的功能。
- 502 Bad Gateway:服务器作为网关或代理时,从上游服务器收到无效响应。
- 503 Service Unavailable:服务器暂时不可用,通常是由于超载或维护。
- 504 Gateway Timeout:服务器作为网关或代理时,未及时从上游服务器收到响应。
综上所述,这些状态码在 Nginx 的日志和响应中经常出现,了解它们的含义有助于快速定位问题和优化服务。