我想通过监视浏览器需要某些页面时打开的 TCP 连接数来定义使用哪个版本的 HTTP(以经验方式)。我选择了带有 2 个图片的页面并运行
netstat -s | grep "active connections"
结果是 1613
然后我打开了这个页面http://c2.com/doc/pages.html并再次运行这个命令:结果是 1637。
如果我关闭了所有可能发送 TCP 数据包的 Web 客户端,那怎么可能,只打开浏览器和 bash。为什么打开了这么多 TCP 连接?
我想通过监视浏览器需要某些页面时打开的 TCP 连接数来定义使用哪个版本的 HTTP(以经验方式)。我选择了带有 2 个图片的页面并运行
netstat -s | grep "active connections"
结果是 1613
然后我打开了这个页面http://c2.com/doc/pages.html并再次运行这个命令:结果是 1637。
如果我关闭了所有可能发送 TCP 数据包的 Web 客户端,那怎么可能,只打开浏览器和 bash。为什么打开了这么多 TCP 连接?
正如@jørgensen 所说,活动连接打开列出了自 TCP/IP 堆栈初始化(实际上是上次启动)以来打开的所有连接,因此 24 个连接并不多。
数字不是 1,而是 24 可能是因为浏览器不发送Connection: Keep-Alive
header,所以浏览器打开一个新的 TCP 连接来获取渲染页面所需的所有元素(例如图像)。
要查看当前ESTABLISHED连接的数量,请执行以下任一操作:
netstat -nat|grep ESTABLISHED|wc -l
或者
netstat -s |grep "connections established"
嗯,因为如果您实际查看结果,它会显示“活动连接打开”,即它计算自机器启动以来建立的所有连接。