📜  您对 HTTP 状态代码有何理解?(1)

📅  最后修改于: 2023-12-03 15:25:40.716000             🧑  作者: Mango

HTTP 状态代码

HTTP 协议中的状态代码(status code)是服务器响应请求时返回的数字代码,用于告知客户端请求的结果是否成功,并根据不同的状态代码提示客户端下一步应该采取的操作。

1xx 消息

| 状态代码 | 状态解释 | 说明 | | -------- | ------------------------ | ------------------------------------------------------------ | | 100 | Continue | 服务器已经接收到请求头,并告知客户端可以发送请求体 | | 101 | Switching Protocols | 服务器要求切换协议(如从 HTTP 切换到 WebSocket) | | 102 | Processing | 服务器正在处理请求,但没有响应 |

2xx 成功

| 状态代码 | 状态解释 | 说明 | | -------- | ------------ | -------------------------------- | | 200 | OK | 请求成功 | | 201 | Created | 请求成功,并创建了新资源 | | 202 | Accepted | 请求已经被接受 | | 204 | No Content | 请求成功,但不返回任何内容 |

3xx 重定向

| 状态代码 | 状态解释 | 说明 | | -------- | ----------- | ----------------------------------- | | 301 | Moved Permanently | 请求资源已经永久移动 | | 302 | Found | 请求资源已经暂时性移动 | | 303 | See Other | 请求资源存在于另一个 URI | | 304 | Not Modified | 资源没有被修改,可以使用缓存数据 |

4xx 客户端错误

| 状态代码 | 状态解释 | 说明 | | -------- | ---------------- | ------------------------------------------ | | 400 | Bad Request | 请求格式错误 | | 401 | Unauthorized | 需要有身份验证信息 | | 403 | Forbidden | 服务器拒绝请求 | | 404 | Not Found | 找不到请求的资源 | | 405 | Method Not Allowed | 服务器不支持此请求方法 | | 408 | Request Timeout | 请求超时 | | 409 | Conflict | 请求冲突,例如在同时更新一个资源时发生 | | 410 | Gone | 请求资源已经不存在 | | 429 | Too Many Requests | 请求过程中发送了过多的请求,请求被拒绝 |

5xx 服务器错误

| 状态代码 | 状态解释 | 说明 | | -------- | ------------------------ | ------------------ | | 500 | Internal Server Error | 服务器内部错误 | | 501 | Not Implemented | 服务器不支持请求 | | 502 | Bad Gateway | 网关错误 | | 503 | Service Unavailable | 服务不可用 | | 504 | Gateway Timeout | 网关超时 | | 505 | HTTP Version Not Supported | 服务器不支持请求的 HTTP 版本 |

总而言之,了解 HTTP 状态代码对于程序员来说是非常重要的,掌握这些状态代码可以更好地理解 HTTP 协议的请求响应过程,更好地排查和定位问题。