如果我理解正确,应用程序有时会使用HTTP来发送消息,因为使用其他端口容易引起防火墙问题。 但是,如何不与其他应用程序,如网络浏览器冲突的工作? 其实怎么办多个浏览器运行的同时不会冲突? 难道他们的所有监控端口,并得到通知...你可以共享一个端口以这种方式?
我有一种感觉,这是一个愚蠢的问题,但不是我以前没有想过的,而在其他情况下,当2个应用程序配置为使用同一端口我见过的问题。
如果我理解正确,应用程序有时会使用HTTP来发送消息,因为使用其他端口容易引起防火墙问题。 但是,如何不与其他应用程序,如网络浏览器冲突的工作? 其实怎么办多个浏览器运行的同时不会冲突? 难道他们的所有监控端口,并得到通知...你可以共享一个端口以这种方式?
我有一种感觉,这是一个愚蠢的问题,但不是我以前没有想过的,而在其他情况下,当2个应用程序配置为使用同一端口我见过的问题。
有2个端口: 源端口 (浏览器)和目的端口 (服务器)。 浏览器请求一个可用的源端口OS(假设它接收33123),然后使一个插座连接到目的地端口(通常为80 / HTTP,443 / HTTPS)。
当Web服务器接收到应答时,它发送具有80作为源端口和33123作为目的地端口的响应。
所以,如果你有2个浏览器同时访问stackoverflow.com,你有这样的事情:
Firefox (localhost:33123) <-----------> stackoverflow.com (69.59.196.211:80)
Chrome (localhost:33124) <-----------> stackoverflow.com (69.59.196.211:80)
当应用程序请求一个插座传出HTTP请求不端口80上发生,它通常接收随机一个。 这是源端口。
端口80是(通过服务器,而不是客户端)服务的HTTP内容。 这就是目标端口。
每个浏览器都使用不同的来源产生请求。 这样一来,包使其恢复到正确的应用程序。
它是(IP协议,本地IP地址,本地端口,远程IP地址,远程端口),其识别的连接的5元组。 多个浏览器(或实际上单个浏览器同时装载多页)将每个使用目的端口80,但本地端口(其由O / S分配)在每种情况下是不同的。 因此不存在冲突。
客户端通常挑这取决于操作系统如何处理这种在1024到65535之间的端口。 我认为,Windows客户端增加数值为每个新连接,UNIX客户端选择一个随机端口号。
一些服务依赖像NTP静态客户端端口(123 UDP)
浏览器是您按顺序使用,看看这通常是在不同的机器上的Web服务器上的内容的客户端应用。 Web服务器是一个侦听端口80,而不是客户端的浏览器。
你需要作出“侦听端口80”和“连接到端口80”之间的区别小心。
当你说“应用程序有时会使用HTTP来发送消息,因为使用其他端口容易引起防火墙问题”,你实际上意味着“应用程序有时会发送消息到端口80”。
该服务器监听80端口,并能接受该端口上的多个连接。
你在这里谈论的端口80是服务器上的远程端口,本地浏览器打开高端口建立的每个连接。
每个连接两端的端口号,一个被称为本地端口,其他的远程端口。
防火墙将允许流量高端口用于浏览器,因为它知道连接已经从你的计算机建立的。