URL 上的刷新是否会清除相应的 DNS 缓存条目?

Does a refresh on a URL clear the corresponding DNS cache entry?

假设我为 URL 配置了一个 DNS 服务器,TTL 为 5 分钟。浏览器会将 URL 到 IP 地址的映射缓存 5 分钟。

但是,如果用户点击 URL 的刷新,浏览器缓存中的相应条目是否会被清除?浏览器是否要再次到 DNS 服务器获取信息?

情况如下:我需要设置一个合适的TTL以避免过多的DNS流量(所以它不应该太低),但是在VM故障的情况下,流量应该被重定向到另一个IP地址(所以不能太高)

如果刷新清除了 DNS 映射缓存条目,那么我可能会选择更高的值。

HTTP 和 DNS 在不同的层上。当用户再次请求某些 URL 时,如果它在缓存中且未过期,则没有理由再次进行 DNS 查询。

DNS 本身并不是一个好的故障转移机制。您需要添加某种负载平衡或 master/slave 虚拟 IP 处理以在某些服务器死机的情况下进行 "immediate" 切换。或者使用 IP 任播。简而言之,很多解决方案,但即使他们可以利用 DNS 来发挥自己的优势,单独使用 DNS 也无法解决。

您需要定义在您的设置中可接受的不可用时间长度,并根据它为您提供 time/energy/money 您可以在设置上投资以实现此故障转移的数量。

如果浏览器中已经有未过期的缓存 DNS 条目,则在浏览器中单击刷新不会再次查询 DNS。

如果您的站点依赖于 DNS 故障转移,那么您的 DNS 的 TTL 不应超过 60 秒。请注意,这只是一个建议,并不是一个完整的证明方式,大多数排名前 100 的网站都使用这个 TTL。