https的端口是443,而http的端口是80,当然两者的连接方式也是不太一样的。
http传输是明文的,而https是用ssl进行加密的。https具有安全性(http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,)
https传输一般是需要申请证书,申请证书可能会需要一定的费用。
而http不需要
虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:
(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
实践中建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,
这样可以自动匹配
http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的
SSL和TLS实际上是一样的:TLS (Transport Layer Security)过去被称为SSL(Secure Sockets Layer)。
SSL协议发布到3.1版本时,重新起了个名字叫TLS(1.0版本)。
在实际的应用中SSL和TLS是一样的。
TLS协议体系中包含了三个协议:TLS握手协议、TLS记录协议、TLS改变密码规范协议、TLS报警协议。