[英]Client System Host Name is not captureing using request.getRemoteHost()
[英]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
request.getRemoteHost()
:返回发送请求的客户端的完全限定名称。
所以,如果你通过 localhost 访问它,你会得到类似的东西: 0:0:0:0:0:0:0:1
。 如果您通过其他机器访问它,它将返回该机器的 IP 地址。
request.getHeader("HOST")
:返回请求中“Host”header 的值。
So, If you are hitting an application url: https://www.test.com , then request.getHeader("Host") would return you www.test.com
简短的回答是:不
您提供的链接中已经有说明。
下面给出的是request.getHeader("HOST")
:
主机请求 header 指定了请求被发送到的服务器的主机和端口号。
下面是关于request.getRemoteHost()
:
返回客户端的完全限定名称或发送请求的最后一个代理。 如果引擎不能或选择不解析主机名(以提高性能),则此方法返回 IP 地址的点字符串形式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.