【问题标题】:Are there any advantages to using HTTP over HTTPS?使用 HTTP 而不是 HTTPS 有什么优势吗?
【发布时间】:2011-09-23 19:32:25
【问题描述】:

我正在管理一个根据页面在 http 和 https 之间动态切换的 Web 应用程序。我想摆脱大量用于在 http 和 https 之间切换的额外代码,但我想在继续之前了解任何含义。

使用 http 而非 https 来提供网站的一部分有什么好处?

【问题讨论】:

标签: http web https


【解决方案1】:

当然,使用 https 时性能会有所下降,但除非您的服务器非常繁忙,否则这并不重要。见

【讨论】:

    【解决方案2】:

    HTTP 不是一种安全协议,任何人都可以截获以明文形式传输的数据(例如会话 cookie、密码、信用卡号、性恋物)。如果可以,您应该始终提供一致的 HTTPS 服务。

    也就是说,根据公钥/私钥安全性的设计,您只能在对 IP 地址具有完全和唯一控制权的服务器上使用 HTTPS,因为客户端首先查找IP 地址,然后请求安全协议,只有 然后 进行 HTTP 查询。这意味着您不能在虚拟主机(共享主机)上部署 HTTPS。

    (由于您已经有了部分 HTTPS 解决方案,我想这对您来说不是问题。)

    另一个缺点是安全握手和后来的加密需要计算资源,因此,如果您有无数的连接,您可能会觉得服务器性能受到很大影响。不过,这需要您考虑。

    短格式:如果您有专用 IP 地址和足够的计算资源,请始终使用 HTTPS。

    【讨论】:

    • 不是完全真的...Shared Hosting可以是基于IP的;-)
    • @pst:要使安全性不那么虚假,您需要能够验证您的对等方。您可以在共享主机上进行的唯一身份验证是使用 IP 地址,如果它们可能是同一主机上您网站的任意数量的网络钓鱼克隆,那么这将毫无用处。您确实希望通过主机名进行身份验证,这实际上为基于 PKI 的身份验证设置了障碍。 (不过,我认为有一些建议可以提前传输所需的主机名,您指的是那个吗?)
    • @Kerrek 共享主机通常意味着一台物理计算机上的多个主机。这可以包括每个托管站点的专用 IP。因此,在这种情况下不会涉及任何技巧,并且 SSL 3.0 将与基于域的证书一起正常工作(即不需要您所指的 TLS 域扩展)。
    • @Eugene:谢谢。是的,拥有自己的公共 IP 地址就足够了,您无需成为唯一使用硬件的人。干杯。
    • @Kerrek,还有许多客户端/服务器现在支持的 SNI(服务器名称指示)。
    【解决方案3】:

    使用 http 显然比 https 快,因为您在连接建立期间没有 ssl 握手开销或额外的加密/解密延迟。
    如果您只需要网站的部分来保证安全,例如只需加密登录凭据,然后拥有重定向代码是有意义的,这样之后的交互会由于纯文本 http 而更快。
    如果您的网站有很多区域需要安全,那么您可以完全使用 https 进行测量,看看性能是否受到显着影响。
    如果您没有发现明显的性能问题(或者性能可以接受),那么您可以简化您的软件设计并删除 httphttps 之间的重定向逻辑并在任何地方使用 https。

    【讨论】:

      【解决方案4】:

      HTTP 和 HTTPS 之间的区别之一是,使用 HTTPS,您无法让客户端和服务器之间的中介(缓存、代理等)对请求和响应执行任何有用的操作,因为内容是加密的。从安全的角度来看,这是一件好事,因为它可以防止中间人窥探或篡改流量。另一方面,您减少了处理可扩展性、性能和可演化性等问题的机会。

      【讨论】:

        猜你喜欢
        • 2013-11-25
        • 1970-01-01
        • 1970-01-01
        • 2013-09-13
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        • 1970-01-01
        • 2010-09-09
        相关资源
        最近更新 更多