浅谈HTTP和HTTPS

208 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情

HTTP:互联网上应用最为广泛的一种网络协议,以明文方式发送内容,不提供任何方式的数据加密。不适合传输一些敏感信息比如:信用卡号、密码支付等。

HTTPS:在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为服务器和浏览器之间的通信加密。

HTTP和HTTPS的区别主要如下:

1、HTTPS协议需要到ca申请证书(内含公钥和私钥),一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输;https则是具有安全性的ssl加密传输协议。

3、http和https使用的连接方式、端口不一样,http是80,https443.

4、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议。

HTTPS优点:

(1)可认证用户和服务器,确保数据发送到正确的服务器。

(2)可进行加密传输,比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

(3)是现行架构下最安全的解决方案,虽然不绝对安全,但它大幅增加了中间人攻击的成本。

HTTPS缺点:

(1)https协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电。

(2)连接缓存不如http高效,会增加数据开销和功耗。

(3)ssl证书需要钱,功能越强大费用越高。

(4)ssl证书通常需要绑定ip,不能再同一个ip上绑定多个域名,ipv4资源不可能支撑这个消耗。

(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。