当我的计算机连接到随机网站以进行TCP分配时,我使用Wireshark捕获了数据包。通常,在数据传输开始之前,应该有3个初始数据包(SYN,SYN-ACK,ACK)用于3次握手。
在我的情况下,有9个连接,3个不同的3向握手;每种操作都是通过计算机的其他端口完成的。接受每个端口后,仅使用其中一个端口继续进行数据传输。
我不明白这背后的原因。谢谢!
最佳答案
浏览器通常会打开一个站点的多个连接。原因是使用HTTP/1时,单个TCP连接一次只能处理一个请求-响应,即,多个请求彼此接替,而不是并行处理。要并行处理多个请求,浏览器需要打开多个TCP连接。由于连接设置需要一些时间,因此浏览器可能会打开与服务器的多个连接,以便在需要发送新请求的情况下建立一些连接。
关于networking - 为什么我的计算机与服务器通过不同端口3次进行3次握手-Wireshark?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61026442/