编辑
2025-08-13
前端
00
请注意,本文编写于 54 天前,最后修改于 49 天前,其中某些信息可能已经过时。

目录

HTTP 状态码分类
101
301
302
304
401
403
404
500

HTTP 状态码分类

状态码范围类型含义 / 说明常见示例
1xx (100–199)信息性状态码请求已被接收,继续处理100 Continue, 101 Switching Protocols
2xx (200–299)成功状态码 ✅请求成功,服务器已处理200 OK, 201 Created, 204 No Content
3xx (300–399)重定向需要客户端进一步操作(通常跳转 URL)301 Moved Permanently, 302 Found, 304 Not Modified
4xx (400–499)客户端错误请求有问题,客户端需修改400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found
5xx (500–599)服务器错误服务器处理请求出错500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable

101

js
HTTP 状态码 101 表示 Switching Protocols(切换协议)。 含义 客户端发起请求时在请求头中使用了 Upgrade,希望服务器切换到另一种协议(通常是更高级协议,如 HTTP/2WebSocket)。 服务器同意切换协议后,返回 101 状态码,然后双方开始使用新协议通信。 关键点 101 不是错误,也不是普通成功码,它是 协议切换确认。 常见应用: WebSocket 握手 HTTP/1.1 升级到 HTTP/2HTTP/3 一旦返回 101,原来的 HTTP 请求结束,双方开始使用新协议。

301

js
含义 服务器告诉客户端(浏览器或请求方):请求的资源 已经被永久移动到另一个 URL。 客户端收到 301 后,通常会 自动跳转到新的 URL。 搜索引擎也会将原来的 URL 的权重转移到新 URL301 = 永久重定向,浏览器或爬虫会跳到新地址,并更新索引。

302

js
HTTP 状态码 302 表示 临时重定向(Found / Moved Temporarily)。 含义 服务器告诉客户端:请求的资源 暂时在另一个 URL,客户端需要去新地址访问,但原 URL 仍有效。 与 301 永久重定向 不同,搜索引擎不会更新索引,浏览器在下一次访问时仍可请求原 URL。 常见场景 登录重定向 1,用户未登录访问受保护页面 → 服务器返回 302 跳转到登录页。 临时维护或活动页面 2. 某页面暂时换到别的页面显示内容,未来可能恢复。 A/B 测试 3. 根据用户或流量分配临时访问不同页面。

304

js
含义 当浏览器已经缓存了某个资源(比如 HTMLCSSJS、图片)后,再次请求同一个资源时,会带上请求头: If-Modified-Since: <上次修改时间> 或 If-None-Match: <ETag值> 服务器检查资源自上次访问后是否有变化: 没变化 → 返回 304 Not Modified,告诉浏览器使用缓存,不发送资源内容。 有变化 → 返回 200 OK 并发送最新资源。 shift + ctrl +R 强制浏览器刷新 作用 节省带宽:资源没变化就不需要重新传输。 提高加载速度:浏览器直接使用缓存。 优化服务器性能:减少重复传输。

401

js
401 Unauthorized:未认证,需要登录或 token。

403

js
403 Forbidden:认证了也没用,就是不让你访问。

404

js
404 Not Found:资源不存在。

500

js
500 Internal Server Error:服务器内部出错。

本文作者:薛祁

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!