在TCP的三次握手请求中,为什么我本机的浏览器有多个端口发起了TCP请求,这是否正常?
0.环境
浏览器:chrome
wireshark:Version 2.2.0 (v2.2.0-0-g5368c50 from master-2.2)
1.我的问题
我用wireshark分析TCP的三次请求,但是我发现了:在TCP的三次握手请求中,为我本机的浏览器有多个端口发起了TCP请求。这是否正常?
下图是我用wireshark抓到的包:
分析:
本机IP:10.180.127.146,目标IP:101.37.225.58
红圈内是我本机发起的第一次HTTP请求,之前都是TCP三次握手的内容。
仔细一数,恰好是18次TCP请求。每个端口都有3次相关请求。
我的浏览器有6个端口发起了请求,而且都和目标网址的80端口完成了三次握手。
这么多次请求正常吗???
我之所以这么问:是因为我在这篇博客中看到是只有一个端口在请求。
http://www.cnblogs.com/TankXi...
3 我的尝试:
我在谷歌上进行中英文搜索,但是搜索的结果大多数是关于浏览器不同tab有不同的端口,和我的问题无关。
4 其他
我把整个抓包和分析的过程记录在我自己的博客:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
浏览器有可能选择同时和一个主机建立多个tcp连接, 只有一个tab也有可能. 这不是异常.
如果你想更精细地控制客户端的行为, 可以试试用curl
建立多个 TCP 连接是完全正常的,因为除了主 document,还有 favicon.ico、各类 css js 文件需要下载,如果只使用一个 TCP 通道,会串行,速度会很慢。
TCP 是传输层的协议,每个 TCP 链接,都是需要本机分配一个端口号的
浏览器因为限制向同一个域名并发 5 个链接,所以大多数专用 CDN 域名都是不同的,这是其中一个原因