0

标题可能有点混乱,但我不知道如何解释更容易或不同。我现在正在用 C# 编写本地代理服务器。当浏览器启动并由代理重定向的 HTTP 请求由相应的 Web 服务器响应时,浏览器会启动一堆新的 HTTP 请求,(你能告诉我浏览器是如何知道的,要重新加载什么,以及它是如何工作的吗? ) 图片例如。我需要知道的是:我是否必须为每个重新加载的对象启动一个 DNS 请求,或者是否可以使用第一个 HTTP 请求中的 IP 地址?

问候,托马斯

4

1 回答 1

0

来自维基百科

DNS 解析过程通过在响应后将 DNS 请求记录缓存一段时间来减少单个服务器的负载。这需要对副本进行本地记录和后续咨询,而不是在上游发起新请求。解析器缓存 DNS 响应的时间由与每条记录关联的称为生存时间 (TTL) 的值确定。TTL 由发出权威响应的 DNS 服务器的管理员设置。有效期可能从几秒钟到几天甚至几周不等。

因此,虽然 TTL 尚未过期,但您可以重复使用已解析的 IP 地址,而无需执行新的 DNS 查找。当 TTL 过期时,您需要执行新的 DNS 查找。

Dns 类不公开与 IP 地址关联的TTL,我不确定它是否缓存了 IP 地址。您可以检查它是否执行缓存,例如,通过使用 Wireshark 查看流量。如果是这样,只需每次调用​​ Dns 类方法。如果没有,请实现您自己的 DNS 客户端或抱怨并每次调用Dns 类方法。

于 2012-11-19T11:49:14.977 回答