1、HTTP和HTTPS有什么区别
一、HTTP和HTTPS的基本概念
HTTP: 是互联网应用最广泛的一种网络协议,是客户端请求和服务端应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,可以使浏览器更高效,使网络传输更少。
HTTPS:是以安全为目标的HTTP通道,在HTTP的基础上加了SSL层,用来保证数据传输的安全性,HTTPS的作用一是建立一种信息安全通道,保证数据传输的安全性,二是保证所访问网站的真实性。
2、HTTP和HTTPS的区别
一、HTTPS协议需要到ca申请证书(freessl.wosign.com/),一般免费的少,都是要付一定的费用。
二、HTTP是超文本传输协议,信息是明文传输,HTTPS是具有安全性的ssl加密传输协议。
三、二者使用完全不同的连接方式,端口也不同,HTTP是80,HTTPS是443 。
四、HTTP的连接很简单,是无状态的,而HTTPS是HTTP+SSL协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
3、HTTPS的工作原理
一、客户端发起HTTPS
用户在浏览器发起https网络请求,连接到服务端443端口
二、服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别是自己制作的证书需要客户端验证通过,才可以继续访问,而向组织申请的证书就不会弹出提示界面。这套证书实质就是一对公钥和私钥。
三、传送证书
这个证书指的是公钥,包含了如证书的颁发机构,过期时间等信息。
四、客户端解析证书
这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,如果发现异常,就会发出警告,弹出一个警告框,提示证书存在问题。如果证书没问题,那么就会生成一个随机值,然后用证书对这个随机值进行加密。
五、传送加密信息
传送用证书加密的随机值,让服务端得到这个随机值,以后客户端和服务端的通信就可以用这个随机值进行加密和解密。
六、服务端解密信息
服务端用私钥解密后,得到从客户端传过来的随机值,然后把内容和该值进行对称加密(将信息和私钥通过某种算法混合在一起,除非知道私钥,不然无法知道内容),正好客户端和服务端都知道这个私钥,所以只要算法够强,数据就够安全。
七、传输加密后的信息
这部分信息是服务端用私钥进行加密后的信息,可以在客户端进行还原。
八、客户端解密信息
客户端用之前生成的私钥解密服务端传过来的信息,于是获取了解密后的内容,整个过程即时第三方监听到了数据,也无法获取信息内容。
4、HTTPS的优点
一、采用HTTPS加密的网站在搜索结果中排名会更靠前。
二、网站安全性会更高
5、HTTPS的缺点
一、使用HTTPS协议会使页面加载延迟50% ,增加10%到20%的耗电,此外还会影响缓存,增加数据的开销和功耗,安全性还存在一定缺陷。
二、SSL证书需要钱,功能越强大的证书费用就越高,小公司小网站没有必要一般不会用。
三、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名。
四、HTTPS连接缓存不如HTTP高效,大流量网站如非必要不会采用,流量成本高。
五、HTTPS连接服务器端资源占用资源高,如果支持大流量访问量,需要投入更大的成本。