是否可以通过 DNS 响应发送一个或多个附加记录?
例如,对 www.example.com 的 A 记录的请求是否会导致包含 www.example.com 的 A 记录以及 www2.example.com 的 A 记录的响应?
这符合标准吗?它甚至会有所帮助吗?IE。典型的客户端是否会缓存额外的记录,以便在不久的将来需要它时,不会导致另一次往返 DNS 服务器?
是否可以通过 DNS 响应发送一个或多个附加记录?
例如,对 www.example.com 的 A 记录的请求是否会导致包含 www.example.com 的 A 记录以及 www2.example.com 的 A 记录的响应?
这符合标准吗?它甚至会有所帮助吗?IE。典型的客户端是否会缓存额外的记录,以便在不久的将来需要它时,不会导致另一次往返 DNS 服务器?
更长的答案是肯定的,这在技术上是可能的,但你不应该。
DNS 服务器将附加记录放在响应的所谓(毫不奇怪)“附加”部分中。
但是,严格来说,根据RFC 1034,附加部分“携带 RR,这可能有助于在其他部分中使用 RR”。例如,如果您请求域的 NS 记录,则属于这些名称服务器的 A 记录可能会随之而来。
但是,如果您尝试提供不相关的数据,您的 DNS 客户端和缓存通常会将其丢弃。 RFC 2181给出了一个优先级表,显示“值得信赖的”DNS 客户端应如何处理不同类型的数据。具体来说,它还说:
即,您在附加部分中输入的数据永远不会被提升为真正的答案。
最简洁的答案是不。
如果您担心来自 DNS 的响应时间,那么您应该在离客户端更近的地方部署一个缓存 DNS 服务器,或者改进基础设施。我想要更多的信息。您管理 DNS 或客户端,还是两者兼而有之?通常 DNS 延迟不是问题,所以我想知道为什么它适合您?
也许
您可以设置更长的 TTL,这意味着更少刷新记录。如果您控制您担心的客户端,您可以运行一个脚本来解析并缓存 dns,或者您可以将主机文件部署到所有客户端(我不推荐这样做)。