gpt4 book ai didi

java - 关于TLS加密的查询

转载 作者:行者123 更新时间:2023-12-02 03:59:42 24 4
gpt4 key购买 nike

我制作了两个 J2EE 应用程序,其中 ProjectX 中的一个 servlet 通过 https 协议(protocol)对 ProjectY 的另一个 servlet 执行 sendRedirect。

代码类似于

 response.sendRedirect("https://ip:8443/ProjectY/servletY?id=123");

在 ProjectY 中,

SerletY 的代码为

PrintWriter pw = response.getWriter();
pw.print("Passed id is ID = " + request.getParameter("id"));

我的查询是,

由于使用 https 时,通过网络发送的数据是理想加密的,为什么我在重定向到 ServletY 后能够看到浏览器的 url 为

"https://ip:8443/ProjectY/servletY?id=123 "

我已经使用 POST 方法隐藏了参数,但我的问题是,从 ProjectX(在 http 中)发送到 ProjectY(在 https 调用中)时,它实际上是否加密数据?

感谢您的支持!!!!

最佳答案

发生了什么

不涉及 POST 请求。

  1. 用户在浏览器中打开 ProjectX 网站
  2. 由于您的 response.sendRedirect,它将响应 HTTP 302 响应。
  3. 用户的浏览器将获取响应的位置并将其打开
  4. 因此,用户的浏览器建立了与 ip:8443 的 TLS 连接
  5. TLS channel 打开后,会发送 GET/ProjectY/servletY?id=123 HTTP/1.1
  6. ProjectY 将通过安全 TLS channel 进行响应。

观察结果

  • 如果您在第 1 步中通过普通 HTTP 调用 ProjectX,则 302 响应不会加密,并且有权访问您连接的每个人都可以看到 id
  • 用户的浏览器将始终看到 id,因为它需要遵循第 3 步中的重定向。
  • 用户将在地址栏中看到 id,因为浏览器将显示其新位置。
  • 调用 ProjectY 时,id 受到保护,因为它仅通过 TLS channel 发送。

关于java - 关于TLS加密的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com