首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome开发者工具连接ID

Chrome开发者工具连接ID
EN

Stack Overflow用户
提问于 2015-12-10 01:17:52
回答 2查看 4.7K关注 0票数 9

我使用的是Chrome开发人员工具(版本49)。在网络选项卡下,有一系列列,如名称、状态、Type..etc。有人知道连接ID列的用途吗?每行都有一个ID,如13461、14410、8738、8741、13516……另外,这些数字意味着什么?

EN

回答 2

Stack Overflow用户

发布于 2017-04-20 20:51:35

HTTP在幕后使用一种称为TCP的网络协议。浏览器维护TCP套接字和连接池。DevTools中的连接ID号表示特定的TCP连接。为什么它们是有用的?好吧,来自谷歌开发专家奥马尔·哈姆萨的this post

中新的连接ID网络面板列可以帮助您表明连接已重用,而不是握手并建立新的连接。

让我解释一下这是什么意思:

当你看到一个特定的连接ID时,可能需要通过所谓的

  • 来建立一个新的连接。出于性能原因,这一点很重要,因为TCP握手可能会产生相对较大的网络开销。我们正在创建一个新的连接,因此获取后续的HTTP response.
  • However,所需的时间会稍长一些,因为您看到的是相同的ID,因此不会产生此开销。也就是说,浏览器不需要执行TCP握手,且将重用相同连接。这里我们说TCP连接仍然是“打开的”。已建立的连接可以更快地获取超文本传输协议响应数据。

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

例如:

代码语言:javascript
复制
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.jpgcat.jpg会产生开销,因为分别建立连接7221879146需要TCP握手。但是,bar.jpgbaz.jpgdog.jpg没有开销,因为它们重用了各自的TCP连接。

注意1:这种重用TCP连接以避免重复TCP握手的想法是HTTP1.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和主机。

票数 18
EN

Stack Overflow用户

发布于 2015-12-10 01:26:07

connectionId是用于查询/TCP连接等的连接的唯一标识符。它是评估哪些资源正在使用哪个连接的一种方式。

如果您按顺序对此列进行排序,您将看到许多重复的ID,这表明在同一个TCP连接上获得了许多资源。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34184994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档