客户端机器如何知道它必须连接服务器上的哪个端口或服务器提供此类信息

本文关键字:服务器 类信息 何知道 机器 客户端 连接 | 更新日期: 2023-09-27 18:13:18

我想知道在客户端和服务器之间的通信中,客户端机器如何知道为了完成特定的请求,它必须连接到服务器的特定端口。当服务器必须给出响应消息时,它如何知道它必须连接到特定的客户端。服务器是否向客户端提供它必须连接到特定端口的任何信息。

客户端机器如何知道它必须连接服务器上的哪个端口或服务器提供此类信息

客户端需要知道连接到哪个端口
有些协议有默认端口,如HTTP,如果没有指定其他端口,则端口为80。

向服务器请求端口是"不可能的",因为要请求你需要连接到一个端口,然后你需要知道"请求"端口的编号。
在某些协议中,您实际上可以连接到标准端口,并在该端口上打开一个反向通道,但您仍然知道初始连接的端口号。

…客户端机器如何知道要完成特定请求必须连接到服务器的特定端口。

客户端要么直接被告知要使用哪个端口(例如,http://example.com:123告诉您的浏览器在端口123上执行HTTP),要么使用"众所周知"的端口(它"知道"的端口,因为该信息被内置在其代码中)。有很多"众所周知"的端口——HTTP为80,SSH为22,POP3为110…

当服务器必须给出响应消息时,它如何知道它必须连接到特定的客户端

当客户端连接到服务器时,它通过一个叫做"套接字"的东西。服务器只是在同一个套接字上进行应答。如果您对技术细节感兴趣,则需要深入研究TCP/IP的工作方式,但是客户端IP和客户端的端口("源端口")都在服务器接收的TCP数据包中,因此服务器知道要回复的地址和端口。在使用套接字的级别上,您(服务器)只需发送到客户端连接时建立的套接字。

已编辑

一个服务器监听一个端口号。想象一个海港,船只可以在那里进入并转移它们的资源& &;把资源带到另一个国家。当港口开放时,它接受船只进入并执行操作。但是如果港口关闭,船将无法进入。与网络端口相同。如果您的互联网路由器的端口被关闭,那么没有任何连接能够通过它成功地执行网络操作。把端口想象成一个站,网络数据包通过它。

现在,HTTP服务器通常运行在端口80上,这意味着它将在端口80上侦听新客户端。现在流行的web浏览器默认配置为在80端口上加载连接,因为它是HTTP网页的默认全球端口号。如果您将默认端口更改为81,并尝试连接到托管在端口80上的网站,则连接将断开,除非您试图通过HTTP协议访问的服务器也侦听端口81。

现在除了HTTP,假设你有一个游戏服务器,它是一样的,但只是一个实时连接(考虑到HTTP服务器是一次执行连接,生成响应头并杀死连接),你可以为你的游戏服务器决定任何端口,就像你可以为任何监听器决定任何端口号一样,我们说4557。如果你想让客户端连接到你的游戏服务器,端口号必须与服务器的端口号相同,因为这是服务器用来传输连接的端口。

<标题>老h1> em>您的客户端应该已经知道它将连接到的端口目标。有不同类型的服务器,例如HTTP服务器,通常监听端口80。当您的浏览器发送请求并到达服务器时,客户端(您的浏览器)会发送一个请求头。服务器通常接受客户端,读取他的请求并生成响应头并将其写入客户端,然后终止连接。一些具有实时连接的服务器以类似的方式工作,除了它缓存已连接的客户端并同时处理它们。