启用DNS预解析和TCP预连接

时间:2014-09-25 09:12:15

标签: google-chrome

chrome://dns页面告知" DNS预解析和TCP预连接时,如何在Chrome浏览器(Mac OS X)中启用DNS预解析和TCP预连接禁用"

enter image description here

2 个答案:

答案 0 :(得分:4)

它位于高级设置中,称为“预测网络操作以提高页面加载性能”

Screenshot

答案 1 :(得分:2)

FWIW,我在Windows的Chrome浏览器中具有上述问答中的行为:

  • chrome://dns说:“ DNS预解析和TCP预连接已禁用。”,

  • chrome://settings显示为“使用预测服务更快地加载页面”

我想知道这与<link rel="dns-prefetch" href="//some.domain"><link rel="preconnect" href="https://some.domain">有何关系。

浏览器:

  • Chrome 67使用uBlock稳定
  • Chrome 68测试版(无扩展名)

测试之前

  • chrome://dns告诉您服务已禁用(也许通过安装uBlock)
  • 在本地主机上提供以下HTML

    <!doctype html><html><head>
        <link rel="dns-prefetch" href="//ajax.googleapis.com">
    </head><body></html>
    
    <!doctype html><html><head>
        <link rel="preconnect" href="https://ajax.googleapis.com">
    </head><body></html>
    

测试1:使用提琴手

  • 转到chrome://net-internals/#dns并清除主机缓存
  • 启用Fiddler并使其收听流量
  • http://localhost的Chrome中打开新标签页
  • 观察Fiddler进行“进入ajax.googleapis.com的隧道:443” 会话

测试2:无提琴手

  • 转到chrome://net-internals/#dns并清除主机缓存
  • http://localhost的Chrome中打开新标签页
  • 刷新chrome://net-internals/#dns并观察DNS条目

结果和结论:

  • 使用uBlock稳定的Chrome 67:preload始终有效;如果启用了uBlock设置dns-prefetch,则Disable pre-fetching (to prevent any connection for blocked network requests)被uBlock阻止
  • Chrome 68测试版(无扩展名):dns-prefetchpreload均可工作
  • 在这一点上,很难说出这些行为中的哪些是功能或错误,以及在堆栈的哪个部分。