如何应用程序使用端口80 / HTTP不与浏览器相冲突?如何应用程序使用端口80 / HTTP不与浏

2019-05-13 05:42发布

如果我理解正确,应用程序有时会使用HTTP来发送消息,因为使用其他端口容易引起防火墙问题。 但是,如何不与其他应用程序,如网络浏览器冲突的工作? 其实怎么办多个浏览器运行的同时不会冲突? 难道他们的所有监控端口,并得到通知...你可以共享一个端口以这种方式?

我有一种感觉,这是一个愚蠢的问题,但不是我以前没有想过的,而在其他情况下,当2个应用程序配置为使用同一端口我见过的问题。

Answer 1:

有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)


Answer 2:

当应用程序请求一个插座传出HTTP请求不端口80上发生,它通常接收随机一个。 这是源端口。

端口80是(通过服务器,而不是客户端)服务的HTTP内容。 这就是目标端口。

每个浏览器都使用不同的来源产生请求。 这样一来,包使其恢复到正确的应用程序。



Answer 3:

它是(IP协议,本地IP地址,本地端口,远程IP地址,远程端口),其识别的连接的5元组。 多个浏览器(或实际上单个浏览器同时装载多页)将每个使用目的端口80,但本地端口(其由O / S分配)在每种情况下是不同的。 因此不存在冲突。



Answer 4:

客户端通常挑这取决于操作系统如何处理这种在1024到65535之间的端口。 我认为,Windows客户端增加数值为每个新连接,UNIX客户端选择一个随机端口号。

一些服务依赖像NTP静态客户端端口(123 UDP)



Answer 5:

浏览器是您按顺序使用,看看这通常是在不同的机器上的Web服务器上的内容的客户端应用。 Web服务器是一个侦听端口80,而不是客户端的浏览器。



Answer 6:

你需要作出“侦听端口80”和“连接到端口80”之间的区别小心。

当你说“应用程序有时会使用HTTP来发送消息,因为使用其他端口容易引起防火墙问题”,你实际上意味着“应用程序有时会发送消息到端口80”。

该服务器监听80端口,并能接受该端口上的多个连接。



Answer 7:

你在这里谈论的端口80是服务器上的远程端口,本地浏览器打开高端口建立的每个连接。

每个连接两端的端口号,一个被称为本地端口,其他的远程端口。

防火墙将允许流量高端口用于浏览器,因为它知道连接已经从你的计算机建立的。



文章来源: how can an application use port 80/HTTP without conflicting with browsers?