Web浏览器是否为打开的选项卡使用不同的端口号?

Hai*_*eeb 16 browser port tabs multithreading

我想知道浏览器内部是如何工作的.现在,可以使用以下两种方式之一使用同一浏览器中的"选项卡"连接到不同的网站:1 - 使用线程2 - 为每个打开的选项卡使用不同的源端口号

我知道有可能不是这个问题一个答案,它可能会有所不同,从一个浏览器到另一个,但是所有的答复表示赞赏.

谢谢


谢谢大家.我真的很感激.我的问题涉及客户端的源端口.我问的是浏览器是否为它打开的每个选项卡使用不同的源端口,或者整个进程使用相同的源端口"我的意思是包含不同选项卡的窗口",还是整个窗口的相同源端口?

或者,Web浏览器是否使用线程?

Rib*_*ose 15

线程和端口是分开的,大多数是不相关的概念.

线程是本地计算机处理器处理计算所做的事情,例如绘制到屏幕或等待Internet流量.对于每个选项卡中的操作,可能还有一个单独的线程(以及更多).

端口是流量本身被识别的(在TCP和UDP中).为了进行通信,你的浏览器会打开一个本地端口(通常是大约5000的东西,只要它的唯一性并不重要)并且通常在端口80(服务器正在监听的端口)上连接到服务器.例如,如果您的计算机不知道远程端口无法连接,但其标准是使用80作为HTTP.

浏览器在单独的线程中打开选项卡(为了安全性和可靠性原因,甚至在单独的进程中打开新选项卡),并在客户端使用单独的端口.所以是的,答案是线程和端口.它们总是使用相同的远程端口,除非您在物理上指定其他方式(例如,使用https://而不是http://使用单独的端口连接到网站,因为这是该协议的制作方式).您可以在现代浏览器中指定要使用的端口:#在名称后面.(例如:http://www.google.com:81/,但是这会失败,因为这不是他们听的端口!)


vin*_*nod 8

使用netstat(或sockstat在 BSD 机器上)快速检查显示不同的源端口号用于不同的连接。在这方面,你是对的。

Firefox 为每个选项卡使用至少一个线程。每个线程可以为不同的数据打开多个连接(例如,从媒体服务器加载图像和从 Web 服务器加载内容)。每个连接都应该有自己的源端口。


Abd*_*aly 1

根据浏览器的不同,它为每个选项卡使用不同的线程或不同的进程。使用的本地端口可能与不同的选项卡没有太大关系。