http与https
https协议作用
主要作用可以分为两种:
建立一个信息安全通道,来保证数据传输的安全。
另一种就是确认网站的可靠性。
ssl证书:
由受信任的数字证书颁发机构CA(如沃通WoSign),在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
证书验证
如果认证该服务器证书的CA机构,存在于浏览器的受信任CA机构列表中,并且服务器证书中的信息与当前正在访问的网站(域名等)一致,那么浏览器就认为服务端是可信的,并从服务器证书中取得服务器公钥,用于后续流程。
在ssl通信中验证通信双方身份的数字文件,一般分为服务器证书和客户端证书,我们通常说的ssl证书主要指服务器ssl证书。
端口
http和https使用的是完全不同的连接方式,用的端口也不一样,http是80端口,https是443端口。
HTTPS的缺点
(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
(6)由于采用了加密通讯,Https无疑要比Http更耗费服务器资源,这也是很多公司明明支持Https却默认提供Http的原因。
使用场景:
需要高级别ssl 证书的往往是大中型网站,如网上银行、购物网站、金融证券、政府机构等,诸如个人博客之类的小型站点完全可以先尝试免费ssl证书。
http切换到HTTPS
如果需要将网站从http切换到https到底该如何实现呢?
这里需要将页面中所有的链接,例如js,css,图片等等链接都由http改为https。例如:http://www.baidu.com改为https://www.baidu.com
BTW,这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com改为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。