【发布时间】:2015-03-26 00:19:51
【问题描述】:
我试图了解 HTTP 服务器如何确保将正确的响应发送回正确的客户端。
在非常高的水平上:
在服务器实现的 TCP 层,一些 ServerSocket(侦听请求所针对的主机:端口)创建一个“客户端套接字”来处理请求
(如果我们假设它是一个线程服务器)- 在应用程序中分配一个线程并且工作完成
问题:-
A.) 响应是否必须通过处理请求的同一个套接字返回?
B.) 如果是,响应如何映射到处理请求的同一个套接字?
C.) 是套接字负责维护响应数据包需要返回到的客户端 IP/主机,还是由 HTTP 标头维护此信息,然后用于将响应返回到正确的客户?
如果 HTTP 标头信息用于将响应路由回调用客户端,那么我假设响应不一定必须由处理相关请求的同一套接字处理
非常感谢任何帮助。 詹姆斯
【问题讨论】: