mag*_*nta 33 compression ssl https gzip
我在这里评估安全(SSL)Web应用程序的前端性能,我想知道是否可以通过SSL压缩文本文件(html/css/javascript).我已经做了一些谷歌搜索,但没有找到任何与SSL特别相关的内容.如果可能的话,因为响应也被加密,它是否值得额外的CPU周期?压缩响应会影响性能吗?
此外,我想确保我们保持SSL连接活着,所以我们不会一遍又一遍地进行SSL握手.我没有在响应标头中看到Connection:Keep-Alive.我确实看到Keep-Alive:115在请求标题中,但这只是保持连接活动115毫秒(似乎应用服务器在处理单个请求后关闭连接?)您不希望服务器设置只要会话不活动超时,响应头是什么?
我知道浏览器不会将SSL内容缓存到磁盘,所以即使没有任何变化,我们也会在后续访问中反复提供相同的文件.主要的优化建议是减少http请求的数量,缩小,将脚本移动到底部,图像优化,可能的域分片(尽管需要权衡另一个SSL握手的成本),这种性质的东西.
Sim*_*onJ 31
是的,可以通过SSL使用压缩; 它发生在数据加密之前,因此可以帮助缓慢的链接.应该指出的是,这是一个坏主意:这也会打开一个漏洞.
在初始握手之后,SSL的开销比许多人想象的要少 - 即使客户端重新连接,也有一种机制可以在不重新协商密钥的情况下继续现有会话,从而减少CPU使用并减少往返次数.
但是,负载平衡器可以使用延续机制:如果请求在服务器之间交替,则需要更多的完全握手,这会产生明显的影响(每个请求约几百毫秒).配置负载均衡器以将来自同一IP的所有请求转发到同一应用服务器.
您使用的是哪个应用服务器?如果它不能被配置为使用保持活跃,压缩文件等等再考虑把它后面的反向代理是可以(并且当你在它,放松与静态内容发送缓存头- HttpWatchSupport已连结文章有关于那个方面的一些有用的提示).
(*SSL硬件供应商会说"高达5倍的CPU",但谷歌的一些人报告说,当Gmail默认情况下转为SSL时,它只占CPU负载的1%左右)
Nei*_*gan 19
您可能永远不应该使用TLS压缩.一些用户代理(至少是Chrome)无论如何都会禁用它.
您可以有选择地使用HTTP压缩
你总是可以缩小
我们来谈谈缓存
我将假设您正在使用HTTPS Everywhere样式的网站.
场景:
像css或js这样的静态内容:
带有ZERO敏感信息的HTML内容(如"关于我们"页面):
带有任何敏感信息的HTML内容(如CSRF令牌或银行帐号):
Cache-Control: no-store, must-revalidate您可以对敏感数据使用HTTP压缩IF:
对于你的第一个问题:SSL 工作在与压缩不同的层上。从某种意义上说,这两个是 Web 服务器的功能,可以一起工作而不重叠。是的,通过启用压缩,您将在服务器上使用更多的 CPU,但传出流量会更少。所以这更多的是一种权衡。
对于第二个问题:Keep-Alive 行为实际上取决于 HTTP 版本。您可以将静态内容移动到非 SSL 服务器(可能包括图像、电影、音频等)
| 归档时间: |
|
| 查看次数: |
33586 次 |
| 最近记录: |