状态码范围 | 类型 | 含义 / 说明 | 常见示例 |
---|---|---|---|
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 |
jsHTTP 状态码 101 表示 Switching Protocols(切换协议)。
含义
客户端发起请求时在请求头中使用了 Upgrade,希望服务器切换到另一种协议(通常是更高级协议,如 HTTP/2 或 WebSocket)。
服务器同意切换协议后,返回 101 状态码,然后双方开始使用新协议通信。
关键点
101 不是错误,也不是普通成功码,它是 协议切换确认。
常见应用:
WebSocket 握手
HTTP/1.1 升级到 HTTP/2 或 HTTP/3
一旦返回 101,原来的 HTTP 请求结束,双方开始使用新协议。
js含义
服务器告诉客户端(浏览器或请求方):请求的资源 已经被永久移动到另一个 URL。
客户端收到 301 后,通常会 自动跳转到新的 URL。
搜索引擎也会将原来的 URL 的权重转移到新 URL。
301 = 永久重定向,浏览器或爬虫会跳到新地址,并更新索引。
jsHTTP 状态码 302 表示 临时重定向(Found / Moved Temporarily)。
含义
服务器告诉客户端:请求的资源 暂时在另一个 URL,客户端需要去新地址访问,但原 URL 仍有效。
与 301 永久重定向 不同,搜索引擎不会更新索引,浏览器在下一次访问时仍可请求原 URL。
常见场景
登录重定向
1,用户未登录访问受保护页面 → 服务器返回 302 跳转到登录页。
临时维护或活动页面
2. 某页面暂时换到别的页面显示内容,未来可能恢复。
A/B 测试
3. 根据用户或流量分配临时访问不同页面。
js含义
当浏览器已经缓存了某个资源(比如 HTML、CSS、JS、图片)后,再次请求同一个资源时,会带上请求头:
If-Modified-Since: <上次修改时间>
或
If-None-Match: <ETag值>
服务器检查资源自上次访问后是否有变化:
没变化 → 返回 304 Not Modified,告诉浏览器使用缓存,不发送资源内容。
有变化 → 返回 200 OK 并发送最新资源。
shift + ctrl +R 强制浏览器刷新
作用
节省带宽:资源没变化就不需要重新传输。
提高加载速度:浏览器直接使用缓存。
优化服务器性能:减少重复传输。
js401 Unauthorized:未认证,需要登录或 token。
js403 Forbidden:认证了也没用,就是不让你访问。
js404 Not Found:资源不存在。
js500 Internal Server Error:服务器内部出错。
本文作者:薛祁
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!