主题
面试速答(先看这里)
**一句话结论:**301 和 302 都是 HTTP 重定向状态码,所谓重定向就是从一个URL跳转到另一个URL。
60秒标准回答:
301 和 302 都是 HTTP 重定向状态码,所谓重定向就是从一个URL跳转到另一个URL
但301和302还是有较大的区别的
301 是永久重定向。资源已经永久移动到新的 URL,浏览器和搜索引擎会缓存这个重定向结果,适合永久链接更换
**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点
回答主线:
- **要点1:**但301和302还是有较大的区别的:
- **要点2:**301 是永久重定向。
- **要点3:**302 是临时重定向,资源临时移动到新的 URL,客户端不应该缓存,后续请求仍然访问旧 URL。
**记忆锚点:**URL → HTTP → 客户端不应该缓存 → 浏览器和搜索引 → 擎会缓存
关键取舍:
- 资源已经永久移动到新的 URL,浏览器和搜索引擎会缓存这个重定向结果,适合永久链接更换。
- 302 是临时重定向,资源临时移动到新的 URL,客户端不应该缓存,后续请求仍然访问旧 URL。
追问准备:
- 围绕「URL」:底层原理是什么?使用时有哪些边界和常见坑?
- 围绕「HTTP」:底层原理是什么?使用时有哪些边界和常见坑?
- 围绕「客户端不应该缓存」:底层原理是什么?使用时有哪些边界和常见坑?
- 如果线上出现异常,你会如何定位、验证并规避?
典型回答
301 和 302 都是 HTTP 重定向状态码,所谓重定向就是从一个URL跳转到另一个URL。
但301和302还是有较大的区别的:
301 是永久重定向。资源已经永久移动到新的 URL,浏览器和搜索引擎会缓存这个重定向结果,适合永久链接更换。
302 是临时重定向,资源临时移动到新的 URL,客户端不应该缓存,后续请求仍然访问旧 URL。