当前位置:  开发笔记 > 前端 > 正文

Chrome开发者工具连接ID

如何解决《Chrome开发者工具连接ID》经验,为你挑选了1个好方法。

我使用的是Chrome开发者工具(第49版).在"网络"选项卡下,有一系列列,例如"名称","状态","类型"等.有没有人知道连接ID列的用途每一行都有一个ID,如13461,14410,8738,8741,13516 ....这些数字是什么意思?



1> James Lawson..:

HTTP在后台使用称为TCP的网络协议.浏览器维护TCP套接字和连接池.DevTools中的连接ID号指的是特定的TCP连接.它们为什么有用?好吧,来自Umar Hamsa(谷歌开发者专家)的这篇文章:

Canary中新的" 连接ID网络面板"列可以帮助指示重新使用 TCP连接而不是握手并建立新连接.

让我解释一下这意味着什么:

一次看到一个特定连接ID,一个新的连接将(可能)需要通过所谓要建立TCP握手.这对于性能原因很重要,因为TCP握手会导致相对较大的网络开销.我们正在创建一个新连接,因此获取HTTP响应需要更长的时间.

但是,对于您看到相同ID 的后续时间,将不会产生此开销.也就是说,浏览器不需要执行TCP握手并将重用相同的连接.这里我们说TCP连接仍然是"开放"的.已建立的连接可以更快地获取HTTP响应数据.

因此,这些数字基本上有助于检查/调试是否存在由TCP握手引起的网络开销.


例如:

Name      Connection ID    (TCP Handshake / Reused Connection)
foo.jpg   72218            Handshake
bar.jpg   72218            Reused
cat.jpg   79146            Handshake
baz.jpg   72218            Reused
dog.jpg   79146            Reused

在这里,有参与下载的开销foo.jpg,并cat.jpg因为TCP握手需要建立连接72218,并79146分别.但是bar.jpg,baz.jpg并且dog.jpg没有开销,因为它们正在重用它们各自的TCP连接.


注1:重用TCP连接以避免重复TCP握手的这种想法是HTTP 1.1的一个称为持久连接的特性.默认情况下,所有HTTP 1.1连接都使用持久连接,所有现代浏览器都使用HTTP 1.1.有关详细信息,建议您阅读高性能浏览器网络书籍的第11章和第14章.

注意2:如果HTTP请求需要TCP握手,您将在DevTools瀑布中看到一个橙色条,如果将鼠标悬停在它上面,您将看到"初始连接" - 这将告诉您握手花了多长时间以毫秒为单位.TCP连接可以在选项卡和窗口之间重复使用,因此请注意 - 您可能第一次看到ID,但可能没有TCP握手!这可能是因为您之前访问过该页面并打开了与该主机的连接.这也可能是因为Chrome从主机中预取了资源 - 例如,当您在栏中输入地址时,Chrome会预取一个图标.

注意3:在较新版本的Chrome中,您可以在chrome:// net-internals /#http2中查看HTTP连接列表,其中显示了连接ID和主机.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有