1. 状态码的介绍
HTTP状态码是一种服务器响应的三位数字代码,用于表示HTTP请求的处理结果。状态码由HTTP/1.0协议定义,用于提供客户端关于请求处理的信息。
2. 状态码的分类
状态码的第一个数字定义了响应的类别:
- 1xx(信息):服务器收到请求,需要请求者继续执行操作。
- 2xx(成功):操作被成功接收并处理。
- 3xx(重定向):需要进一步的操作以完成请求。
- 4xx(客户端错误):请求包含语法错误或无法完成请求。
- 5xx(服务器错误):服务器在处理请求的过程中发生了错误。
3. 常用的状态码
200: 成功,请求数据通过响应报文的entity-body部分发送;OK
301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现在所处的新位置;Moved Permanently
302: 响应报文Location指明资源临时新位置 Moved Temporarily
304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码通知客户端;Not Modified
307: 浏览器内部重定向
401: 需要输入账号和密码认证方能访问资源;Unauthorized
403: 请求被禁止;Forbidden
404: 服务器无法找到客户端请求的资源;Not Found
500: 服务器内部错误;Internal Server Error,比如:cgi程序没有执行权限
502: 代理服务器从后端服务器收到了一条伪响应,如无法连接到网关;Bad Gateway
503: 服务不可用,临时服务器维护或过载,服务器无法处理请求,比如:php服务停止,无法处理php程序
504: 网关超时
4. 状态码列表:
1xx(信息):请求已被接受,需要继续处理。
- 100 Continue:继续
- 101 Switching Protocols:切换协议
- 102 Processing:处理中
- 103 Early Hints:早期提示
2xx(成功):请求已成功被服务器接收、理解、并接受。
- 200 OK:成功
- 201 Created:已创建
- 202 Accepted:已接受
- 203 Non-Authoritative Information:非授权信息
- 204 No Content:无内容
- 205 Reset Content:重置内容
- 206 Partial Content:部分内容
- 207 Multi-Status:多状态
- 208 Already Reported:已报告
- 226 IM Used:使用了IM
3xx(重定向):需要客户端采取进一步的操作才能完成请求。
- 300 Multiple Choices:多种选择
- 301 Moved Permanently:永久移动
- 302 Found:找到
- 303 See Other:查看其他
- 304 Not Modified:未修改
- 305 Use Proxy:使用代理
- 306 Switch Proxy:切换代理
- 307 Temporary Redirect:临时重定向
- 308 Permanent Redirect:永久重定向
4xx(客户端错误):请求包含语法错误或无法完成请求。
- 400 Bad Request:错误请求
- 401 Unauthorized:未授权
- 402 Payment Required:需要付款
- 403 Forbidden:禁止
- 404 Not Found:未找到
- 405 Method Not Allowed:方法不允许
- 406 Not Acceptable:不可接受
- 407 Proxy Authentication Required:需要代理身份验证
- 408 Request Timeout:请求超时
- 409 Conflict:冲突
- 410 Gone:已经消失
- 411 Length Required:需要长度
- 412 Precondition Failed:先决条件失败
- 413 Payload Too Large:负载过大
- 414 URI Too Long:URI过长
- 415 Unsupported Media Type:不支持的媒体类型
- 416 Range Not Satisfiable:范围不可满足
- 417 Expectation Failed:预期失败
- 418 I'm a teapot:我是一个茶壶
- 421 Misdirected Request:误导的请求
- 422 Unprocessable Entity:不可处理的实体
- 423 Locked:已锁定
- 424 Failed Dependency:失败的依赖
- 425 Too Early:过早
- 426 Upgrade Required:需要升级
- 428 Precondition Required:需要先决条件
- 429 Too Many Requests:请求过多
- 431 Request Header Fields Too Large:请求头字段过大
- 451 Unavailable For Legal Reasons:因法律原因不可用
5xx(服务器错误):服务器在处理请求的过程中发生了错误。
- 500 Internal Server Error:内部服务器错误
- 501 Not Implemented:未实现
- 502 Bad Gateway:错误的网关
- 503 Service Unavailable:服务不可用
- 504 Gateway Timeout:网关超时
- 505 HTTP Version Not Supported:HTTP版本不支持
- 506 Variant Also Negotiates:变体也协商
- 507 Insufficient Storage:存储不足
- 508 Loop Detected:检测到循环
- 510 Not Extended:未扩展
- 511 Network Authentication Required:需要网络身份验证