当我访问网站http://myipaddress.com/what-is-my-ip-address/
时我检查了请求标头信息。不,它在哪里包括我的IP地址。那么Web服务器如何确定我的IP地址呢?我知道任何Web服务器都可以访问这些信息。但如果它不在HTTP请求中,他们如何得到它?
答案 0 :(得分:4)
您正在连接到服务器并向其发送HTTP请求。服务器回复页面。要做到这一点,它必须知道在哪里发送回复。该信息可以从套接字连接自动获得(即从比HTTP更低的级别),因此不必在请求标头中重复。
编辑:
如果您想了解有关Web服务器如何执行此操作的详细信息,请参阅accept
function。当连接进入时,Web服务器会调用accept
,它会自动为其提供另一方的地址。
答案 1 :(得分:3)
它位于Web服务器的传入TCP / IP数据包中。当通过Internet发送时,HTTP数据包被封装在TCP / IP数据包中(这看起来很奇怪,它们本身也被传输中的各种协议封装)。
传入的TCP / IP数据包将包含有关源的一些信息,包括source IP address以及source port number。