Java Web 服务客户端问题 - HTTP 标头 - 主机字段



我们有一个隐藏在 F5 设备后面的 Web 服务。 F5 接受 https 请求,解密消息,然后将解密的消息发送到我们的 Web 服务。 Web 服务使用 F5 的解密消息进行响应,然后 F5 加密并发送回 Web 服务请求的发起方。

此 Web 服务适用于以某些语言编写的客户端,但不适用于其他语言。 这个问题指的是基于 Websphere JRE 和库的 Java 实现。 其他(工作)语言将 HTTP 标头的 Host 字段设置为 ourhost.net,而 Java(通过 https 发送时)将 HTTP 标头的 Host 字段设置为 ourhost.net:443 。 我意识到https是通过端口443进入的,但我不明白为什么Java认为有必要将该端口包含在主机字段中。

有什么想法吗?

由于 443 是 HTTPS 的默认端口,因此不需要将其包含在 Host 标头中,但这样做也不正确。请参阅 HTTP 1.1 规范的第 14.23 节。

最新更新