HTTP常见的状态码有哪些,都代表什么意思

HTTP 协议定义了一系列的状态码,用于描述服务器对客户端请求的处理结果。这些状态码分为五个类别,每个类别都有特定的用途。

常见状态码

1开头 信息性状态码

这些状态码表示请求已被接收,继续处理。

  • 100 Continue:客户端应继续其请求。
  • 101 Switching Protocols:服务器已理解客户端的请求,并将通过升级协议来进行处理。
2开头 成功状态码

这些状态码表示请求已成功被服务器接收、理解和接受。

  • 200 OK:请求成功,响应体通常包含请求的资源。
  • 201 Created:请求成功并且服务器创建了新的资源,通常用于 POST 请求。
  • 202 Accepted:请求已接受,但尚未处理完成,通常用于异步处理。
  • 204 No Content:请求成功,但响应体为空,通常用于 DELETE 请求。
3开头 重定向状态码

这些状态码表示客户端需要采取进一步的操作才能完成请求。

  • 301 Moved Permanently:请求的资源已永久移动到新的 URI。
  • 302 Found:请求的资源临时从不同的 URI 响应请求,通常用于临时重定向。
  • 304 Not Modified:资源未被修改,客户端可以使用缓存的版本。
  • 307 Temporary Redirect:请求的资源临时从不同的 URI 响应请求,与 302 类似,但不允许更改请求方法。
4开头 客户端错误状态码

这些状态码表示客户端的请求有误,服务器无法或不愿处理该请求。

  • 400 Bad Request:请求无效,通常是因为客户端发送的请求格式不正确。
  • 401 Unauthorized:请求要求用户的身份认证。
  • 403 Forbidden:服务器理解请求,但拒绝执行,通常是因为权限不足。
  • 404 Not Found:请求的资源不存在。
  • 405 Method Not Allowed:请求方法不被允许,通常是因为服务器不支持该方法。
  • 408 Request Timeout:服务器等待请求的时间过长。
  • 429 Too Many Requests:客户端在一段时间内发送了太多请求,通常用于限流。
5开头 服务器错误状态码

这些状态码表示服务器在处理请求时发生了错误。

  • 500 Internal Server Error:服务器遇到了未知的错误,无法完成请求。
  • 501 Not Implemented:服务器不支持请求的方法。
  • 502 Bad Gateway:服务器作为网关或代理,从上游服务器收到了无效的响应。
  • 503 Service Unavailable:服务器暂时无法处理请求,通常是因为过载或维护。
  • 504 Gateway Timeout:服务器作为网关或代理,未能及时从上游服务器获取响应。
  • 505 HTTP Version Not Supported:服务器不支持请求中使用的 HTTP 版本。

总结

这些状态码帮助客户端理解服务器对请求的处理结果,并采取相应的行动。了解这些状态码及其适用场景对于开发和调试 HTTP 应用非常重要。

相关推荐
~樱小路~7 分钟前
网络:华为数通HCIA学习:IP路由基础
网络·学习·华为
GalaxyPokemon8 分钟前
Muduo网络库实现 [十三] - HttpRequest模块
linux·服务器·网络·c++
无名之逆9 分钟前
Hyperlane:高性能 Rust HTTP 服务器框架评测
服务器·开发语言·windows·后端·http·rust
liruiqiang0525 分钟前
循环神经网络 - 机器学习任务之同步的序列到序列模式
网络·人工智能·rnn·深度学习·神经网络·机器学习
圈圈编码1 小时前
WebSocket
java·网络·spring boot·websocket·网络协议·spring
苏格拉没有底_coder2 小时前
【Easylive】视频在线人数统计系统实现详解 & WebSocket 及其在在线人数统计中的应用
websocket·网络协议
吴盐煮_2 小时前
如何判断一条连接是TCP连接还是UDP连接?
网络协议·tcp/ip·udp
Double Point2 小时前
(三十三)Dart 中使用 Pub 包管理系统与 HTTP 请求教程
网络·网络协议·http
李少兄1 天前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
可乐加.糖1 天前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信