如果我在 Java 服务器上执行request.getRemoteHost()
和request.getHeader("HOST")
,这些方法会返回相同的值吗? 根据文档是的,但我会很高兴得到确认: https://tomcat.apache.org/tomcat-9.0-doc/servletapi/javax/servlet/ServletRequest.html#getRemoteHost--
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Host
-
request.getRemoteHost()
:返回发送请求的客户端的完全限定名称。因此,如果您通过本地主机访问它,您将获得类似以下内容:
0:0:0:0:0:0:0:1
。如果您通过其他计算机访问它,它将返回该计算机的IP地址。 -
request.getHeader("HOST")
:返回请求中"Host"标头的值。因此,如果您点击应用程序 url : https://www.test.com,则 request.getHeader("Host"( 将返回
www.test.com
简短的回答是:否
解释已经在您提供的链接中。
下面给出的是request.getHeader("HOST")
:
主机请求标头指定 请求发送到的服务器。
下面的一个是关于request.getRemoteHost()
:
返回客户端的完全限定名称或最后一个代理 已发送请求。如果引擎无法或选择不解决 主机名(以提高性能(,此方法返回 IP 地址的点字符串形式。