在回答您的问题之前,我将解释 Internet 的工作原理。
当我们在浏览器中(或通过任何其他方式)打开网站时,我们的浏览器首先对该域进行 DNS 请求,然后向 Web 服务器发送 HTTP 请求。
假设我们在浏览器中输入了 www.stackexchange.com,然后 -
- DNS 请求将转到解析器;查询就像 - www.stackexchange.com 的 IP 地址是什么
- 如果解析器的缓存中没有答案(在我们的例子中是一条记录)或者 TTL 已过期,那么
- 解析器对该域进行递归查询,如果能够访问该域的权威服务器,则解析器会回答我们的查询。
- 获取网站的 IP 地址后,浏览器向 Web 服务器发送 HTTP 请求并显示结果。
下图显示了递归查询在 DNS 中是如何发生的——

现在来到你的问题:
如果我只知道一种无需依赖受影响的 DNS 服务器即可访问这些站点的方法,我应该能够访问它们吗?是否有任何方法可以做到这一点,或者这根本不可能?
标准格式的 Internet 以我上面解释的方式工作。
标准说,你应该尊重 TTL 值。没有标准的 DNS 实现(无论是 BIND、UNBOUND 还是任何其他)都支持在 TTL 值到期后缓存域条目。
如果你真的想实现这样的事情,那么你必须相应地调整代码(我根本不建议你这样做;原因在下面解释)。
不尊重 TTL 值所涉及的问题 -
假设您已经缓存了域的 IP 地址,并且在 TTL 到期后您依赖于您的缓存;
并且域所有者更改了其域的 IP 地址(无论出于何种原因);
您将继续访问缓存中的相同 IP 地址;
您每次都会登陆旧 IP 地址;你不会在那里找到任何数据。
如果域被签名(即 DNSSEC 实施),事情将变得非常混乱;如果您不尊重 TTL 值。