我已经创建了两个J2EE应用程序,其中ProjectX中的一个servlet通过https协议执行sendRedirect到ProjectY的另一个servlet。
代码就像
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调用)时加密数据?
感谢您的支持。!!!
答案 0 :(得分:2)
没有涉及POST
请求。
HTTP 302
。response.sendRedirect
回复
Location
并将其打开ip:8443
GET /ProjectY/servletY?id=123 HTTP/1.1
HTTP
在步骤1中调用ProjectX,则302
响应不会被加密,并且每个有权访问您的连接的人都可以看到id
。 id
,因为它需要遵循步骤3中的重定向。id
,因为浏览器会显示其新位置。id
受到保护,因为它仅通过TLS频道发送。