浏览器应遵循哪个 TTL 属性 使用 CNAME 记录?
Which TTL Property should a browser respect where you use a CNAME record?
我们有一个应用程序,其域具有 CNAME 记录。然后该域具有 A 记录。如果这 2 条记录具有不同的 TTL 属性会怎样?例如。
NAME TYPE VALUE TTL
----------------------------------------------------------------------
bar.example.com CNAME foo.example.com 3600 (60min)
foo.example.com A 192.0.2.23 30 (30sec)
在此示例中,如果我点击 bar.example.com,IP 地址将在浏览器中缓存多长时间?我在 chrome 中注意到它会将 IP 地址缓存长达 30 秒,但我想不同的浏览器可能有不同的实现。我想知道是否有标准的方法来实现,或者是否有任何浏览器会使用 60 分钟记录。我似乎找不到任何关于此的文档。
没有对 CNAME 资源记录的 TTL 进行特殊处理。在一个完美的世界里,浏览器应该根据它的 TTL 记住每条记录。
也就是说,如果发布了指向 baz.example.com
的 bar.example.com
的新 CNAME,浏览器仍然可以使用指向 foo.example.com
的旧 CNAME 长达 3600 秒。在任何时候,它都无法记住与名称关联的 IP 地址 foo.example.com
超过 30 秒。
虽然我没有尝试检查,但我怀疑许多实现并不那么挑剔,我的猜测是对整个 bar.example.com
-> 使用最终 A 记录的 TTL 是很常见的192.0.2.23
步。
我们有一个应用程序,其域具有 CNAME 记录。然后该域具有 A 记录。如果这 2 条记录具有不同的 TTL 属性会怎样?例如。
NAME TYPE VALUE TTL
----------------------------------------------------------------------
bar.example.com CNAME foo.example.com 3600 (60min)
foo.example.com A 192.0.2.23 30 (30sec)
在此示例中,如果我点击 bar.example.com,IP 地址将在浏览器中缓存多长时间?我在 chrome 中注意到它会将 IP 地址缓存长达 30 秒,但我想不同的浏览器可能有不同的实现。我想知道是否有标准的方法来实现,或者是否有任何浏览器会使用 60 分钟记录。我似乎找不到任何关于此的文档。
没有对 CNAME 资源记录的 TTL 进行特殊处理。在一个完美的世界里,浏览器应该根据它的 TTL 记住每条记录。
也就是说,如果发布了指向 baz.example.com
的 bar.example.com
的新 CNAME,浏览器仍然可以使用指向 foo.example.com
的旧 CNAME 长达 3600 秒。在任何时候,它都无法记住与名称关联的 IP 地址 foo.example.com
超过 30 秒。
虽然我没有尝试检查,但我怀疑许多实现并不那么挑剔,我的猜测是对整个 bar.example.com
-> 使用最终 A 记录的 TTL 是很常见的192.0.2.23
步。