我打开IE浏览器&在我的计算机中输入Chrome并键入localhost:80,然后我会获得索引页。
在这里,我认为我的机器的IP对于两个连接(IE浏览器和Chrome)都是相同的,端口也是如此(80)。 注意:源端口将不同(因为目标是相同的:localhost IP),这是我的第二个问题。
那么webserver(让我们说apache)如何处理这个端口80连接而不会失败?是端口转发吗?在操作系统级别,即使我尝试使用addr重用,端口重用参数,它们完全相同,我们不能使用相同的IP和多个连接。端口。
现在,您可能已经提出了一个解决方案:虽然源端口和IP相同,但目标端口在包中是不同的:<protocol>, <src addr>, <src port>, <dest addr>, <dest port>
。
答:我在图像上看到了49483~50004个端口。客户端如何知道哪个目标端口(49483~50004)受Web服务器绑定?如果它在0到65355之间是随机的,则Web服务器总是绑定所有端口,这非常消耗资源。网络服务器如何避免这种情况?
Look at this image: command prompt-> netstat
如果这个问题与低级别的资源有关,那么我可以理解嵌入式TCP / IP / UDP,Phy MAC通信和包结构。
答案 0 :(得分:1)
你把这一切都放在了前面。
答案 1 :(得分:0)
默认情况下,所有http请求都会调用端口80中的服务器,因为服务器默认侦听该端口。因此,您只提供IP或主机名,Web浏览器添加默认端口(80)。如果您的Web服务器正在另一个端口侦听(通常Tomcat默认在8080中侦听),您可以提供自定义端口,例如您在http://www.youamazingweb.com:8080
中调用它。
一个很好的例子是将IP视为家庭,端口是客户进入以消耗服务器中托管的某些资源的门。