【发布时间】:2014-01-08 17:19:14
【问题描述】:
假设我是在网站上工作的软件工程师之一,我正在编写这段代码来处理客户的 IP 地址。
来自客户端的 http 请求通过 ISP 或移动服务提供商的转发代理,然后通过 CDN 转发到位于我的数据中心内的应用程序服务器。
当我在应用服务器层上运行的代码中进行调用时,类似于 Java 中的“request.getRemoteAddr()”。
请注意,我并不是从 Java API 的角度提出这个问题。我只是好奇 HTTP Payload 上的 IP 地址是什么。它总是客户端的IP地址(桌面或手机)还是介于两者之间?
【问题讨论】:
-
不是答案,但这取决于用户系统的工作方式。如果他们使用 TOR 或 VPN,那么您将获得该地址。如果他们在办公室,那么你会得到那个地址。电话,将与大多数智能手机相同,允许 VPN 和 TOR。如果他们通过 WIFI 连接,则不是计算机或手机的 IP 地址,而是调制解调器/房屋/办公室/星巴克的地址。