Web服务器如何识别请求来自特定客户端?我知道通过http协议进行通信但是它告诉服务器,对于特定请求,需要将响应发送到此客户端是什么?
(我不确定这个问题是否过于简单,但我只是想在这里学到一些东西,并且可能会对像我这样的其他人有所帮助)
答案 0 :(得分:0)
您的问题几乎与this question完全相同,后者有一些很好的答案。
响应通过请求来自的相同TCP / IP连接返回。
客户端启动了与服务器的IP地址和端口的连接。服务器不需要知道客户端的IP地址和端口,因为连接已经打开并可以使用。
大多数 [citation needed] 客户甚至都没有可公开访问的IP地址。
答案 1 :(得分:0)
HTTP服务器为每个连接的客户端启动一个新进程(在大多数情况下,它实际上启动了一个新线程,但为了简单起见,我们可以假设它是一个进程),因此从代码中只看到该客户端引起的它开始。 HTTP是无状态的,这意味着在完成对查询的回复之后,http服务器程序结束 - 它看起来像一个函数,查询作为参数,网页作为返回值。连接本身由源IP,目标IP,源端口和目标端口(所有这些)标识。