0

这是我的问题的后续,在这里我发现 HTTPS 与 HTTP 请求的查询时间差异很大:到服务器的距离越大,这种差异就越大。

我找到了这个握手开销的一个很好的解释。并且无法真正解决这个问题,但是对于进一步的请求,将 SSL 会话与保持活动结合使用非常重要。保持活动已打开。但是每个请求的 SSL ID 都是不同的(我正在使用 jetty 并读取ssl_session_id 属性)。

事实证明,我需要根据this question更改客户端以及服务器,但我仍然感到困惑和不确定(这个问题的答案似乎听起来并不可靠):

对于浏览器:如果我对我的 API 进行 javascript 查询,是否需要以某种方式启用它?

对于 Jetty:我是否还需要按照此处的说明关闭 jetty 的 allowRenegotiate 设置?但看起来这会有几个安全隐患,如果现在允许是否安全(取自文档),我不完全这样做:

设置是否允许 SSL 重新协商。CVE-2009-3555 通过重新协商在 SSL/TLS 中发现了一个漏洞。如果您的 JVM 没有修复 CVE-2009-3555,则不应允许重新协商。CVE-2009-3555 在 Sun java 1.6 中得到修复,在 u19 中禁止重新协商,在 u22 中使用 RFC5746。

4

1 回答 1

0

我不太确定你到底在问什么。好吧,HTTPS 总是比 HTTP 慢,因为它有更多的开销。

但是,您可能可以采取一些措施来减少响应时间。例如,大多数操作系统使用的 tcp 初始拥塞大小太小。这导致仅用于 TCP 握手的额外往返。由于往返时间通常在 20 毫秒到几秒之间(到海外服务器的网络速度较慢),这可以大大缩短建立 ssl 连接所需的时间。

查看 linux 系统的https://lwn.net/Articles/427104/。内核 >2.6.39 或 >3.x 应该可以。

于 2013-04-11T15:14:47.807 回答