如果再次访问该页面,浏览器是否会在缓存中保留永久重定向?

如果再次访问该页面,浏览器是否会在缓存中保留永久重定向?

错误地对服务器进行了几个小时的永久重定向。由于未知原因,服务器无法重定向回来,因此现在所有在这几个小时内访问过该网页的人如果不清除缓存就无法访问该页面。现在,我们无法知道这些人是谁,也无法告诉他们为什么页面没有出现,或者他们需要做什么才能让它再次工作。因此,除了等待永久重定向退出这些人的缓存之外,别无他法。

我的问题是:如果他们在重定向被推出缓存之前再次访问该页面,那么该页面是否会被放回到缓存页面队列的开头,从而使缓存保持活动状态?

如果您觉得这很奇怪,请介绍一下背景:我们让一家公司制作了我们的网页(只是一个简单的网页,而不是我们的产品,这是一种服务)。显然他们的服务器还没有准备好,尽管他们告诉我们将 foo.com 的 A-DNS 记录指向他们的服务器。因此,他们随意地将他们的服务器重定向到地址的暂存版本(foo.com -> foo.staging.com),因为暂存版本当时仍在暂存服务器上。我告诉他们从暂存服务器重定向回实际服务器(foo.stading.com -> foo.com),但他们说他们的暂存服务器(由许多客户端共享)无法做到这一点。 - 这当然是荒谬的。

答案1

我有点困惑,你谈到永久重定向(HTTP 301 错误),但随后又说它是一条将人们引导到服务器的 DNS A 记录。

对于 DNS,记录将一直存在,直到达到生存时间(由 DNS 服务器发出)或用户清除缓存为止。如果他们在进行更改之前访问,则 TTL 将被重置。

对于 HTTP 301,答案是视情况而定,一旦 301 重定向被缓存,浏览器就不会真正检查原始页面。它只会转到重定向页面。

相关内容