当我在浏览器中打开多个标签时,浏览器是否为每个标签分配不同的端口号。
我使用的是Windows 7 64位操作系统,有没有办法检查我的浏览器标签使用的端口号。
现在我打开了两个标签,在一个标签中我查看此页面而在其他标签中我打开了一个G-MAIL,这两个标签是否使用相同的端口?
答案 0 :(得分:2)
浏览器不会为其选项卡使用端口,而是获取选项卡的内容。
根据选项卡的内容,在运行浏览器的计算机上使用一个或多个端口。这些端口是由浏览器进程或其中一个线程从操作系统分配的。
一段时间后,内容已经“传输”到客户端“浏览器”,端口将被返回给操作系统。
要查看应用程序当前正在使用哪些端口,请使用管理员权限运行cmd
并发出
netstat -b
假设只有一个网络接口,机器需要不同的端口用于不同的连接。
答案 1 :(得分:0)
每个TCP连接都应该有一个唯一的四元组<SERVER IP ADDRESS , SERVER PORT , CLIENT IP ADDRESS , CLIENT PORT>
如果是浏览器,如果我们在不同的标签中打开同一个网站(相同的SERVER IP ADDRESS
和相同的SERVER PORT
),那么每个标签都会有不同的CLIENT PORT
,因为{{1在TCP连接打开之前是一样的。
如果我们在不同的标签页中打开不同的网站,显然这意味着每个标签页都有不同的CLIENT IP ADDRESS
,SERVER IP ADDRESS
。在这种情况下,每个选项卡都将不同SERVER PORT
但相同CLIENT PORT
,直到TCP连接保持打开状态。
关闭TCP连接后,CLIENT IP ADDRESS
将返回给操作系统,以后可以在操作系统需要时重复使用。
大多数浏览器使用HTTP流水线技术,这是一种保持连接活动的技术。更多info
您可以使用Wireshark跟踪,然后通过浏览器中的选项卡检查您请求的每个数据包的源端口。 。这是一个非常好的工具。
答案 2 :(得分:0)
你的问题基于错误的假设。
因此,您可以看到任何给定端口与任何给定选项卡之间的关系几乎不存在。一个连接,因此一个端口,可能已被多个选项卡重用。它们之间没有必要的一对一映射。