繁体   English   中英

request.getRemoteHost() 与 request.getHeader(“HOST”)

[英]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() :返回发送请求的客户端的完全限定名称。

    所以,如果你通过 localhost 访问它,你会得到类似的东西: 0:0:0:0:0:0:0:1 如果您通过其他机器访问它,它将返回该机器的 IP 地址。

  2. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM