浏览器缓存 301 重定向并将您重定向到 HTTPS。
👉 第二个示例是更改网站域时。如果您使用 301 重定向从旧域重定向到新域,浏览器也会缓存它,并阻止您进入旧域。
301 - 表示资源(页面)永久移动到新位置。客户端/浏览器不应尝试请求原始位置,而应从现在开始使用新位置。
302 - 表示资源暂时位于其他位置,客户端/浏览器应继续请求原始 URL。
301 是永久重定向。即使您从服务器中删除重定向,由于硬缓存,您的浏览器也会不断将资源重定向到新域或 HTTPS。
因此,浏览器不会硬缓存302,如果您从服务器(网站)中删除重定向,则可以访问旧版本。
💀 301 在生产中有多危险?这很简单。如果出现问题并且您将 301 重定向发布到生产环境,则客户端的浏览器将永久缓存此重定向,并且您必须告诉所有客户端清除浏览器缓存。这是一个 💩
但我可以告诉你,这还不够。假设您使用 301 重定向将旧域严重重定向到新域,并且想要清除域缓存。您必须在旧域上执行此操作,因为旧域正在重定向。但是您无法访问它...唯一要做的就是清除整个浏览器缓存甚至cookie,但没有人愿意这样做。
😎 有一个关于如何访问旧域(或任何重定向 URL)的技巧。
在访问网站之前,请打开Chrome开发人员工具(F12)。
现在输入您的旧域 URL 并导航到它。当然,它将被重定向到新域。但是在您的网络日志中,您将拥有旧的域重定向请求,并且您可以通过右键单击请求并选择清除浏览器缓存来清除域缓存。之后,您的 301 重定向将被删除。但请记住,您必须在之前从服务器中删除重定向。
总之,如果你在开发过程中,强烈建议你禁用浏览器缓存,就是在network标签栏中,选中禁用缓存复选框。
