HTTP 状态码
状态码意义
每个状态码都是 HTTP 设计者对网络通讯中出现情况的假设与预判。它相当于现实世界的信号灯,例如遇到 404 就知道资源找不到,遇到 500 就知道服务器挂了。这种共识是万维网高效率的基础之一。
HTTP 状态码是日常开发、修改 Bug 的必备工具。常见状态码分类如下:
1. 必须掌握的状态码
200 OK:最常见的状态码,代表请求完全正确,如打开网页、调用 API。
301 Moved Permanently:资源永久迁移(例如访问 a.com 会被重定向到 b.com)。
302 Found:部分资源临时迁移。
400 Bad Request:请求出错,参数缺失等。
401 Unauthorized:未登录。
403 Forbidden:已登录,但无权限。
404 Not Found:资源不存在。
500 Internal Server Error:服务器内部错误。
2. 需要理解的状态码
排查问题时常用:
100 Continue
201 Created:资源创建成功(POST)。
204 No Content:处理成功,但不返回资源(DELETE)。
206 Partial Content:处理成功了一部分。
304 Not Modified:资源未修改,可直接使用缓存。
405 Method Not Allowed:方法不被允许。
408 Request Timeout:请求超时。
502 Bad Gateway:作为网关/代理时,收到无效响应。
503 Service Unavailable:服务器暂不可用,正在维护。
HTTP 协议
核心概念
1. HTTP 的本质
- 定义:超文本传输协议。
- 核心模型:【请求 + 响应】客户端发送请求、服务器响应,一问一答进行信息传递。
- 无状态:服务器不会记住上一次请求(后期引入了 Cookie、Session)。
- 位置:HTTP 协议存放在应用层,规范客户端与服务器的传输格式及交互流程。
2. URL 结构
例如:https://www.example.com:8080/path?name=test#fragment
- https:使用的协议类型。
- www.example.com:域名(对应服务器的 IP 地址)。
- 8080:端口号,HTTP 默认是 80,HTTPS 默认是 443,可省略。
- /path:资源路径。
- ?name=test:访问资源时,用 GET 携带的参数。
- #fragment:锚点。


