java - 默认情况下,IP 地址是否也通过 RestTemplate 调用传递到 Http header 中?

标签 java http-headers resttemplate

我正在使用 RestTemplate 和以下简单代码进行 HTTP url 调用。这里的 url 是我们的 Service 之一,它将从 header 中提取 IP 地址。

String response = restTemplate.getForObject(url, String.class);

所以我的问题是,在进行 url 调用时,IP 地址 是否也会在 HTTP header 中传递?是否按照我上面所示的方式进行?

我的服务正在 machineB 上运行,因此如果我使用上述 RestTemplate 代码从 machineA 访问该网址,machineA IP 地址是否在 header 中传递?

或者,在进行 url 调用时,我们是否需要执行任何额外操作来在 header 中传递 IP 地址

最佳答案

客户端的 IP 地址不会自动通过 HTTP 标准 header 传递,因为 HTTP 服务器不需要此信息。服务器已可以通过用于传输 HTTP 请求的 IP 数据包获取客户端的 IP 地址。

如果您想让客户端在 HTTP header 中发送其 IP 地址,您必须创建一个自定义 header 并在每个请求中填充它。

关于java - 默认情况下,IP 地址是否也通过 RestTemplate 调用传递到 Http header 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163063/

相关文章:

http-headers - 如何将 HTTP 安全 header 添加到 Next.js 应用程序

javascript - HTTP header 使浏览器显示 "save as"对话框并保存文件

java - hibernate 的国家代表

Java 不受支持的版本——经典问题

java - 在 Servlet 中使用 setHeader() 方法设置 Refresh HTTP header 时传递参数

spring - 从多个服务器使用 RESTful 服务时可以使用相同的 RestTemplate 实例吗

spring - 无法 Autowiring 字段 :RestTemplate in Spring boot application

java - 为什么这个线程池不同时执行HTTP请求?

java - 读取输入后无法写入输出;经历过这种情况但不确定原因

java - 属性文件中的 Spring 和常量类