使用HTTP而不是HTTPS有什么优势吗?

9
我正在管理一个动态在http和https之间切换的Web应用程序。我想摆脱大量用于在http和https之间切换的额外代码,但在继续之前,我想了解任何影响。
是否有在部分网站使用http而不是https的优点?

3
性能可能会成为问题,如此处所讨论:https://dev59.com/pHVC5IYBdhLWcg3w51ny - Kevin Stock
我启用了HTTP警告来运行,所以在您的网站上,当它不断在HTTP和HTTPS之间切换时,我会感到疯狂。 - Neil
4个回答

7

当使用HTTPS时,性能会有所下降,但除非您的服务器非常繁忙,否则影响并不大。详情请见


3

HTTP并不是一个安全的协议,任何人都可以拦截传输的明文数据(例如:会话cookie、密码、信用卡号码、性癖好等)。如果可以的话,应该在整个服务中提供一致的HTTPS服务。

话虽如此,通过公共/私有密钥安全的设计,您只能在具有完全独立控制IP地址的服务器上使用HTTPS,因为客户端首先查找IP地址,然后请求安全协议,最后才进行HTTP查询。这意味着您不能在虚拟主机(共享主机)上部署HTTPS。

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

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

简单来说:如果您拥有专用IP地址和足够的计算资源,请始终且仅使用HTTPS。


不完全正确... 共享主机 可以 基于IP ;-) - user166390
@pst:为了使安全性不至于成为一种虚假的东西,您需要能够对同行进行身份验证。在共享主机上,您唯一可以进行的身份验证是使用IP地址,但如果同一主机上可能存在任意数量的仿冒网站,则这种方法相当无用。您真正想要的是通过主机名进行身份验证,在实践中,这会为基于PKI的身份验证创建障碍。(我认为已经有一些建议提前传输所需的主机名,您是指那个吗?) - Kerrek SB
1
@Kerrek 共享主机通常意味着在一台物理计算机上有几个主机。这可能包括每个托管站点的专用IP。因此,在这种情况下不需要使用任何技巧,SSL 3.0可以与基于域名的证书正常工作(即无需使用您所指的TLS域名扩展)。 - Eugene Mayevski 'Callback
1
@Eugene:谢谢。是的,拥有自己的公共IP地址就足够了,你不需要物理上是唯一使用硬件的人。干杯。 - Kerrek SB
@Kerrek,还有SNI(服务器名称指示),现在许多客户端/服务器都支持。 - Bruno
布鲁诺:我认为这是尤金提到的TLS扩展的一部分。但是,是的,谢谢。这已经广泛使用了吗?如果是这样,那么这将消除不提供HTTPS的一个主要借口! - Kerrek SB

3
使用http比https更快,因为在连接建立期间没有ssl握手开销或额外的加密/解密延迟。
如果您只需要网站的部分是安全的,例如只加密登录凭据,则适合使用重定向代码,以便之后的交互由于明文http而更快。
如果您的网站有许多需要保护的区域,则可以完全使用https进行测量,看看性能是否受到显着影响。
如果您没有发现任何重大性能问题(或性能可接受),则可以简化软件设计并删除http<->https之间的重定向逻辑,并在所有地方使用https。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接