3

当我访问网站http://myipaddress.com/what-is-my-ip-address/

我检查了请求头信息。没有它在哪里包括我的IP地址。那么网络服务器如何确定我的 IP 地址呢?我知道任何网络服务器都可以访问这些信息。但是如果 HTTP 请求中没有它,他们是如何得到它的呢?

4

2 回答 2

4

您正在连接到服务器并向其发送 HTTP 请求。服务器回复一个页面。为此,它必须知道将回复发送到哪里。该信息可从套接字连接自动获得(即从低于 HTTP 的级别),因此不必在请求标头中重复。

编辑: 如果您想了解更多有关 Web 服务器如何执行此操作的信息,请参阅accept功能。当连接进来时,Web 服务器会调用accept,它会自动向它提供另一端的地址。

于 2012-11-26T01:39:50.147 回答
3

它位于 Web 服务器的传入 TCP/IP 数据包中。HTTP 数据包在通过 Internet 发送时被封装在 TCP/IP 数据包中(尽管看起来很奇怪,但它本身也被各种传输中的协议封装)。

传入的 TCP/IP 数据包将包含一些关于源的信息,包括源 IP 地址源端口号

于 2012-11-26T01:41:12.660 回答