在我们专用网络的服务器上,我们有一个 HttpServlet,它由同一网络的 PC 联系。
我们需要知道与服务器联系的客户端的主机名。为此,我们调用 HttpServletRequest 的 getRemoteHost 方法。
有时此方法返回客户端的 PC 名称(想要的行为),有时此方法返回 IP 地址。(相同的客户端,相同的服务器,相同的专用网络)
API说:
java.lang.String getRemoteHost ()
返回客户端的完全限定名称或发送请求的最后一个代理。如果引擎不能或选择不解析主机名(以提高性能),则此方法返回 IP 地址的点分字符串形式。对于 HTTP servlet,与 CGI 变量REMOTE_HOST的值相同
返回:一个包含客户端完全限定名称的字符串
我看到对于 HTTP servlet,该值与 CGI 变量 REMOTE_HOST 相同。这是什么意思?是否由服务器决定解析地址?有没有办法强制这种行为?