这个标题可能有点混乱,但我不知道如何更容易或不同地解释。我现在正在用C#编写一个本地代理服务器。当由浏览器启动并由代理重定向的HTTP请求由相应的Web服务器应答时,浏览器会启动一堆新的HTTP请求,例如图片(您能告诉我浏览器是如何知道的,要重新加载什么,以及这是如何工作的)。我需要知道的是:我是否必须为每个重新加载的对象启动DNS请求,或者是否可以使用第一个HTTP请求中的IP地址?
你好,托马斯
发布于 2012-11-19 19:49:15
来自Wikipedia
DNS解析过程通过在响应后将
请求记录缓存一段时间来减少单个服务器上的负载。这需要对副本进行本地记录和随后的咨询,而不是在上游发起新的请求。解析程序缓存DNS响应的时间由与每个记录关联的称为生存时间(TTL)的值确定。TTL由发送权威响应的DNS服务器的管理员设置。有效期可以从几秒钟到几天甚至几周不等。
因此,虽然TTL尚未过期,但您可以重用已解析的IP地址,而无需执行新的DNS查找。当TTL过期时,您需要执行新的DNS查找。
Dns Class不会公开与IP地址相关联的TTL,我不确定它是否缓存了IP地址。您可以检查它是否执行缓存,例如,通过使用Wireshark查看流量。如果是这样的话,每次都调用Dns Class方法。如果没有,请实现您自己的DNS客户端,或者每次都抱怨并调用Dns Class方法。
https://stackoverflow.com/questions/13452898
复制相似问题