HTTPS而不是HTTP?

Posted

技术标签:

【中文标题】HTTPS而不是HTTP?【英文标题】:HTTPS instead of HTTP? 【发布时间】:2011-05-03 12:12:49 【问题描述】:

我是网络安全新手。

为什么我要使用 HTTP 然后切换到 HTTPS 进行某些连接?

为什么不一直坚持使用 HTTPS?

【问题讨论】:

【参考方案1】:

有一些有趣的配置改进可以降低 SSL/TLS 的成本,如本文档所述(显然基于 on work from a team from Google:Adam Langley、Nagendra Modadugu 和 Wan-Teh Chang):http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html

如果有一点我们想要 与世界交流,就是这样 SSL/TLS 不是计算的 贵了。十年前它 可能是真的,但这只是 不再是这种情况了。你也可以 为您的用户启用 HTTPS。

今年 1 月(2010 年),Gmail 切换到对所有内容都使用 HTTPS 默认。以前一直是 作为一个选项引入,但现在所有 的用户使用 HTTPS 来保护他们的 他们的浏览器之间的电子邮件和 谷歌,一直。为了做 我们不必部署额外的 机器,没有特殊的硬件。在 我们的生产前端机器, SSL/TLS 占不到 1% CPU负载,小于10KB的内存 每个连接和不到 2% 网络开销。很多人相信 SSL 占用大量 CPU 时间,并且 我们希望上述数字(公众为 第一次)将有助于消除 那个。

如果你现在停止阅读,你只需要 记住一件事:SSL/TLS 不是 计算成本更高了。

仅将 HTTPS 用于登录页面时,一种错误的安全感是,您为会话劫持敞开了大门(诚然,这总比明文发送用户名/密码要好);这最近使用 Firesheep 变得更容易(或更流行)(尽管问题本身已经存在了更长的时间)。

另一个可能降低 HTTPS 速度的问题是,某些浏览器可能不会缓存它们通过 HTTPS 检索的内容,因此它们必须重新下载它们(例如,您经常访问的网站的背景图片)。

话虽如此,如果您不需要传输安全性(防止攻击者查看或更改交换的数据,无论哪种方式),纯 HTTP 都可以。

【讨论】:

Cloudant、Gmail 和 Linode 是整个应用使用 HTTPS 的一些应用。我想我也可以这样做,然后来回切换:) HTTPS 的计算成本并不高,但在大多数情况下,Web 性能的限制因素既不是 CPU 也不是带宽——它的延迟——而且 HTTPS 强制每个连接至少进行一次额外的往返——而且由于微软的实施SSL 与其他人不同,这通常意味着针对每个请求。【参考方案2】:

如果您不传输需要安全的数据,则不需要 HTTPS 的开销。

查看此 SO 线程以获取有关差异的非常详细的讨论。 HTTP vs HTTPS performance

【讨论】:

【参考方案3】:

主要是性能原因。 SSL 需要额外的(服务器)CPU 时间。

编辑:然而,这些天来,这种开销变得越来越小,一些大型网站已经切换到默认使用 HTTPS(例如 GMail - 请参阅 Bruno 的回答)。

【讨论】:

【参考方案4】:

同样重要的事情。防火墙,别忘了通常 HTTPS 在端口 443 上实现。 在某些组织中,此类端口未在防火墙或透明代理中配置。

【讨论】:

谁会阻止 SSL 连接?【参考方案5】:

HTTPS 可能非常慢,并且对于图像之类的东西来说是不必要的。

【讨论】:

以上是关于HTTPS而不是HTTP?的主要内容,如果未能解决你的问题,请参考以下文章

AJAX 使用 HTTP 而不是 HTTPS

Django 的 HttpResponseRedirect 是 http 而不是 https

将一页重定向到 http 而不是 https

为啥 IdentityServer 重定向到 http 而不是 https?

Laravel 分页返回 http 而不是 https 的链接

哪些浏览器支持“//”而不是“http://”和“https://”? [复制]