当前位置: 首页 > news >正文

HTTP 状态码笔记

一、什么是 HTTP 状态码

  • HTTP 状态码 是服务器对客户端请求的响应结果的简要描述,由三位数字组成。
  • 状态码由 响应首部 返回,格式示例:
HTTP/1.1 200 OK
  • 每个状态码属于一个特定的分类。

二、状态码分类概览

分类范围含义
1xx100–199信息性,表示请求已接收,继续处理
2xx200–299成功,表示请求已成功被服务器接收、理解并处理
3xx300–399重定向,需要进一步操作以完成请求
4xx400–499客户端错误,请求有语法错误或无法完成
5xx500–599服务器错误,服务器未能完成合法请求

三、常见状态码详解

1xx 信息性状态码

  • 100 Continue
    客户端应继续请求,服务器已收到请求头,等待请求体

  • 101 Switching Protocols
    服务器同意客户端协议切换请求

  • 102 Processing(WebDAV)
    服务器已接收并正在处理请求,但无响应可用


2xx 成功状态码

  • 200 OK
    请求成功,一般用于 GET 和 POST 请求

  • 201 Created
    请求成功并创建了新的资源,常用于 POST

  • 202 Accepted
    请求已接收,但尚未处理

  • 204 No Content
    请求成功,但响应体为空

  • 206 Partial Content
    部分内容(用于分块下载或断点续传)


3xx 重定向状态码

  • 301 Moved Permanently
    永久重定向,资源已永久移动到新位置

  • 302 Found(或 Moved Temporarily)
    临时重定向,资源临时被移动

  • 303 See Other
    请求的资源可通过其他 URI 获取,通常用于 POST 重定向

  • 304 Not Modified
    资源未修改,客户端可使用缓存

  • 307 Temporary Redirect
    临时重定向,方法不变

  • 308 Permanent Redirect
    永久重定向,方法不变


4xx 客户端错误状态码

  • 400 Bad Request
    请求语法错误,服务器无法理解

  • 401 Unauthorized
    未授权,需进行身份验证

  • 403 Forbidden
    服务器拒绝请求,权限不足

  • 404 Not Found
    请求资源不存在

  • 405 Method Not Allowed
    请求方法不被允许

  • 408 Request Timeout
    请求超时

  • 409 Conflict
    请求与资源当前状态冲突

  • 410 Gone
    资源已永久删除

  • 413 Payload Too Large
    请求实体过大

  • 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 版本


四、常用状态码应用场景总结

状态码应用场景
200请求成功,正常返回数据
201成功创建资源(如创建用户)
204删除成功,无返回内容
301网站永久跳转
302页面临时跳转
304浏览器缓存命中
400参数错误,客户端问题
401用户未登录或认证失败
403没有权限
404资源不存在
500服务端代码错误
502反向代理无响应
503服务器维护、超载
504代理/网关超时

五、HTTP 状态码总结思维导图(文本版)

HTTP状态码
├── 1xx 信息
│   ├── 100 Continue
│   └── 101 Switching Protocols
├── 2xx 成功
│   ├── 200 OK
│   ├── 201 Created
│   ├── 202 Accepted
│   ├── 204 No Content
│   └── 206 Partial Content
├── 3xx 重定向
│   ├── 301 Moved Permanently
│   ├── 302 Found
│   ├── 303 See Other
│   ├── 304 Not Modified
│   └── 307 Temporary Redirect
├── 4xx 客户端错误
│   ├── 400 Bad Request
│   ├── 401 Unauthorized
│   ├── 403 Forbidden
│   ├── 404 Not Found
│   ├── 405 Method Not Allowed
│   └── 429 Too Many Requests
└── 5xx 服务器错误├── 500 Internal Server Error├── 502 Bad Gateway├── 503 Service Unavailable└── 504 Gateway Timeout

六、扩展阅读建议

  • MDN HTTP 状态码文档
  • RFC 7231 HTTP 规范
http://www.dtcms.com/a/283963.html

相关文章:

  • 网络原理 —— HTTP
  • uniapp用webview导入本地网页,ios端打开页面空白问题
  • 自定义 django 中间件
  • 《小白学习产品经理》第六章:方法论之SWOT分析
  • 3D工业相机是什么?如何选择和使用它?
  • docker安装与简单项目上手
  • 5. 实战项目类:《用TypeScript + Vite从零搭建企业级React应用》
  • Django由于数据库版本原因导致数据库迁移失败解决办法
  • 我的开发日志:随机数小程序
  • redis中间件
  • 手撕Spring底层系列之:后置处理器“PostProcessor”
  • Vmware虚拟机使用仅主机模式共享物理网卡访问互联网
  • 研报复现|格雷厄姆成长股内在价值策略
  • Error: llama runner process has terminated: exit status 2
  • 实习Last Day研二Last Day
  • 纯前端html实现图片坐标与尺寸(XY坐标及宽高)获取
  • JavaScript进阶篇——第七章 原型与构造函数核心知识
  • 深度学习 -- 初步认识Torch
  • vue中的this.$set
  • 在分布式系统中,如何保证缓存与数据库的数据一致性?
  • LVS实验
  • 板凳-------Mysql cookbook学习 (十一--------12)
  • LVS集群
  • Docker实战:使用Docker部署IT工具箱Team·IDE
  • Android15系统实现刷机防呆功能
  • Flutter在Android studio运行出现Error: Entrypoint is not a Dart file
  • C++网络编程 2.TCP套接字(socket)编程详解
  • 微信小程序列表数据上拉加载,下拉刷新
  • ASP .NET Core 8实现实时Web功能
  • Python 网络爬虫 —— 提交信息到网页