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/,但是这会失败,因为这不是他们听的端口!)
使用netstat(或sockstat在 BSD 机器上)快速检查显示不同的源端口号用于不同的连接。在这方面,你是对的。
Firefox 为每个选项卡使用至少一个线程。每个线程可以为不同的数据打开多个连接(例如,从媒体服务器加载图像和从 Web 服务器加载内容)。每个连接都应该有自己的源端口。
| 归档时间: |
|
| 查看次数: |
20994 次 |
| 最近记录: |