很显而易见http和https不只是多了个s,还多了一个安全层。除了安全层他俩一样啊。
概念:
HTTP:
超文本传输协议,是互联网上广泛应用的一种网络协议,默认端口号是80,通过明文传输,安全性差,性能强。
HTTPS:
http+安全层
HTTPS的安全层是啥?
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。(以上内容来自百度百科)。 我理解的就是SSL=对称加密+非对称加密+CA认证
对称加密:加密与解密用的是同样的密钥,效率高。但由于需要密钥在网络中传输,所以安全性很低
非对称家吗:加密与解密的密钥是一对二(公钥和私钥),公钥可以发送给任何请求的人,私钥只能由一方安全保管。公钥加密需要对应的私钥解密。私钥加密需要公钥解密。加密解密的算法复杂导致的性能低,安全性能高。
解决的办法就是将对称加密的密钥通过非对称加密的公钥进行加密,接收方使用私钥解密后获取对称加密的密钥,双方就可以安全的用对称加密通信,但是非对称加密也是有弊端的,既然公钥可以发送任何人,那就存在不安全隐患。届时都使用CA证书,确认对方身份,岂不更安全?
这里插播一段关于CA证书的描述,现将用户的个人信息和发送信息通过hash算法得到这部分的信息摘要,在用CA的私钥加密得到数字签名。这个数字签名加上原始的用户信息合并得到数字证书即CA证书
有图片好理解一些,这就是确认身份以及内容是否有差异。
总结
http和https的区别
- https协议需要到ca申请证书,一般免费证书较少,成本高。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
- http默认端口是80, https是443。 (以上内容个人理解如有异议可指出互讨)