request.getRemoteHost() vs request.getHeader( "HOST" )



如果我在 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

  1. request.getRemoteHost():返回发送请求的客户端的完全限定名称。

    因此,如果您通过本地主机访问它,您将获得类似以下内容:0:0:0:0:0:0:0:1。如果您通过其他计算机访问它,它将返回该计算机的IP地址。

  2. request.getHeader("HOST"):返回请求中"Host"标头的值。

    因此,如果您点击应用程序 url : https://www.test.com,则 request.getHeader("Host"( 将返回www.test.com

简短的回答是:

解释已经在您提供的链接中。

下面给出的是request.getHeader("HOST")

主机请求标头指定 请求发送到的服务器。

下面的一个是关于request.getRemoteHost()

返回客户端的完全限定名称或最后一个代理 已发送请求。如果引擎无法或选择不解决 主机名(以提高性能(,此方法返回 IP 地址的点字符串形式。

最新更新