6. 实现考虑事项
本节是非规范性的, 仅由可能对实现者有用的各种事项组成. 递归解析器可以用多种方式实现其缓存. 最明显的一种是树数据结构, 因为它符合域名的数据模型. 但在实践中, 其他实现也是可能的, 也可以采用各种优化, 例如在树上增加某些常见域名的索引.
如果解析器将其缓存实现为树 (没有任何优化), 遵循第 2 节规则的一种方式如下: 收到 NXDOMAIN 时, 修剪该节点处正向缓存条目的子树, 或删除该节点以下名称的所有单独缓存条目. 然后, 当在其缓存中向下搜索时, 此迭代式缓存 DNS 解析器如果遇到已缓存的不存在性, 将停止搜索.
某些解析器的缓存可能并非组织为树, 而是例如组织为字典; 因此, 它们有理由忽略第 2 节的规则. 所以这些规则使用应当 (SHOULD) 而不是必须 (MUST).