何时在QtWebKit中完成DNS解析?

何时在QtWebKit中完成DNS解析?,web,dns,webkit,ip-address,qtwebkit,Web,Dns,Webkit,Ip Address,Qtwebkit,我正在使用QtWebkit,我想监视在QtWebkit中创建的请求 当DNS名称解析为IP地址以向Web服务器发出请求时 QtWebKit是否也维护(我想是的)已解析IP地址的缓存? 阅读DNSPrefetchHelper::lookedUp()中的注释,我假设除了正常的DNS请求情况(1)和(2)之外,Qt还像(3)中那样预取DNS 针对页面导航请求进行的常规DNS查找 在html解析期间(对于类似于JS/CSS/IMG的内部资源文件) 在诸如用户鼠标悬停在href上之类的操作上预取DNS(预

我正在使用QtWebkit,我想监视在QtWebkit中创建的请求

当DNS名称解析为IP地址以向Web服务器发出请求时

QtWebKit是否也维护(我想是的)已解析IP地址的缓存?

  • 阅读
    DNSPrefetchHelper::lookedUp
    ()中的注释,我假设除了正常的DNS请求情况(1)和(2)之外,Qt还像(3)中那样预取DNS

  • 针对页面导航请求进行的常规DNS查找
  • 在html解析期间(对于类似于JS/CSS/IMG的内部资源文件)
  • 在诸如用户鼠标悬停在
    href
    上之类的操作上预取DNS(预期点击和结果导航)
  • 在Qt函数中读取注释时,我假设Qt只缓存非常少量的DNS结果。它主要依靠操作系统来缓存DNS结果。我还觉得这是处理dns缓存的最佳方法,即使您碰巧实现了一个。当应用程序试图维护dns缓存时,在何时刷新dns缓存与准确结果之间做出性能决定将是一件令人困惑的事情

    在操作系统无法缓存dns结果的情况下,Qt希望ISP缓存dns结果

相关文件为())

void lookedUp(const QHostInfo&)
{
    // we do not cache the result, we throw it away.
    // we currently rely on the OS to cache the results. If it does not do that
    // then at least the ISP nameserver did it.
    // Since Qt 4.6.3, Qt also has a small DNS cache.
    DNSResolveQueue::shared().decrementRequestCount();
}