【问题标题】:When TCP connections are opened?什么时候打开 TCP 连接?
【发布时间】:2012-02-28 16:15:34
【问题描述】:

我想通过监视浏览器需要某些页面时打开的 TCP 连接数来定义使用哪个版本的 HTTP(以经验方式)。我选择了带有 2 个图片的页面并运行

netstat -s | grep "active connections"

结果是 1613

然后我打开此页面http://c2.com/doc/pages.html 并再次运行此命令: 结果是 1637。

如果我关闭了所有可能发送 TCP 数据包的 Web 客户端,只有浏览器和 bash 打开,这怎么可能。为什么打开了这么多 TCP 连接?

【问题讨论】:

  • 没有办法通过计算连接数来找出正在使用的 http 版本。仅仅因为支持保持活动连接并不需要使用它们。是否使用它们取决于客户端和服务器应用程序。

标签: tcp package network-protocols netstat


【解决方案1】:

正如@jørgensen 所说,活动连接打开列表所有自 TCP/IP 堆栈初始化(实际上是上次启动)以来打开的连接,因此 24 个连接并没有那么多.

数字不是1,而是24可能是因为浏览器没有发送Connection: Keep-Alive头,所以浏览器打开一个新的TCP连接来获取渲染页面需要的所有元素(比如图片)。

要查看当前 ESTABLISHED 连接的数量,请执行以下任一操作:

netstat -nat|grep ESTABLISHED|wc -l

或

netstat -s |grep "connections established"

【讨论】:

    【解决方案2】:

    嗯,因为如果您实际查看结果,它会显示“活动连接打开”,即它计算所有连接自机器启动后。

    【讨论】:

      猜你喜欢
      • 2015-07-23
      • 2012-02-28
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 2019-01-13
      • 2022-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多