为 Web 应用程序选择纯 HTTPS 还是 HTTP/HTTPS

Choosing between Pure HTTPS or HTTP/ HTTPS for a web application

关于在网络中使用 Http 或 Https,我遇到了一个小问题 application.I 参考了许多关于类似主题的堆栈溢出问题,但他们没有充分回答我的问题,所以我决定 post 这个问题。

问题 我目前正在开发一个基于 java 的 Web 应用程序,该应用程序使用 J Boss 应用程序 server.Front end 主要由 Struts、JavaScript 和 JQuery 组成。我们目前正在评估用户建议,以在登录页面中启用 HTTPS,然后在 HTTP 中继续其余的用户会话。

此外,虽然用户会话在 http 中,但一些报告需要在 HTTPS 中显示,因为 well.That 意味着用户会话将在 Http 和 HTTPS 之间切换。

以前像 Hotmail had this feature 这样的网站,但出于提高安全性的考虑,已经转移到提供纯 HTTPS。

在保留用户会话的同时是否可以(并且可行)在需要时同时使用 HTTPS 和 Http only.Would此实现比纯 HTTPS 实现提高了性能?如果是这样,是否可以遵循任何标准操作来实现这一目标?

根据一般看法,HTTPS 往往会减慢 Web 应用程序的速度 performance.But 还有一个 increasing number of sites that use full HTTPS。例如 Google , GMail.

假设与纯基于 Http 的站点相比,纯 HTTPS 中尝试实现此 Web 应用程序会产生明显的性能问题吗?是否有任何方法可以提高纯 HTTPS 站点的性能?

资源

HTTP vs. HTTPS: What's the Difference?

Transport Layer Security (TLS)

- Resource mentioned by Pelit Mamani

我没有用 JBoss 尝试过,而是用 Tomcat 尝试过,但是有几点可能是相关的。顺便说一句,在我们的例子中,我们让它工作了,但最终还是切换到了完整的 https。

注意事项:

1) 明显的安全隐患。黑客无法窃取您的密码,但他们可以eavesdrop/change 不安全的内容交换。

2) 如您所述 - cookie 需要小心,尤其是它们的 'secure' 标志。我的经验是 Tomcat 但听起来它可能会发生在其他容器中:当通过 HTTPS 登录时 Tomcat 合理地假设你想要一个 secure 会话 cookie,所以在非安全页面上无法识别会话。我们必须进行一些调整,以便会话 cookie 不安全。

3) 跨域:如果您的页面是通过 http 加载的,并且它向 https 发送 AJAX 请求(反之亦然),则浏览器会应用跨域安全限制,这同样需要进行调整,例如作为 CORS 支持。

4) 我们最终切换到了完整的 https。 它对高负载有一些性能影响(对于具有其他瓶颈的服务(例如数据库)可以忽略不计,但对于纯 memory/logic 并且每秒有数十次点击的服务来说很明显)。然而,我们觉得是时候横向扩展了。我们还花了一些时间来调整 Tomcat 连接器和我们的负载均衡器,结果证明一些配置在 https 上工作得更好。