当前位置:  开发笔记 > 前端 > 正文

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

如何解决《应用程序如何使用端口80/HTTP而不与浏览器冲突?》经验,为你挑选了4个好方法。

如果我理解正确,应用程序有时会使用HTTP来发送消息,因为使用其他端口可能会导致防火墙问题.但是,如果不与其他应用程序(如Web浏览器)冲突,它如何工作?事实上,多个浏览器一次运行怎么不冲突?他们都监控端口并得到通知......你能以这种方式共享端口吗?

我有一种感觉,这是一个愚蠢的问题,但不是我以前想过的东西,而在其他情况下,当2个应用程序配置为使用相同的端口时,我看到了问题.



1> Flavius Stef..:

有2个端口:源端口(浏览器)和目标端口(服务器).浏览器要求操作系统提供可用的源端口(假设它接收33123)然后建立到目标端口的套接字连接(通常是80/HTTP,443/HTTPS).

当Web服务器收到答案时,它会发送一个响应,其中80作为源端口,33123作为目标端口.

因此,如果你有两个浏览器同时访问stackoverflow.com,你会有这样的事情:

Firefox (localhost:33123) <-----------> stackoverflow.com (69.59.196.211:80)
Chrome  (localhost:33124) <-----------> stackoverflow.com (69.59.196.211:80)


浏览器是一个应用程序.你能详细说明你的问题吗?

2> Justin Niess..:

端口80上不会发生传出的HTTP请求.当应用程序请求套接字时,它通常会随机接收一个套接字.这是源端口.

端口80用于提供HTTP内容(由服务器而不是客户端).这是目标端口.

每个浏览器使用不同的Source来生成请求.这样,数据包使其返回正确的应用程序.


@John,不.*web服务器*打开端口80,但*浏览器*具有不同的随机分配端口.如果您的应用程序在端口80上进行通信,那么您将阻止您的应用程序在与Web服务器相同的计算机上使用,但您不会干扰Web浏览.

3> jchl..:

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



4> Jürgen Stein..:

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

有些服务依赖于静态客户端端口,如NTP(123 UDP)

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有