一、 http和https的基本概念
http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
https协议的主要作用是:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。加密,认证,完整性保护,防窃听,防伪装,防篡改。
二、区别
① https需要ca证书,费用较高
② http信息为明文传输,https则是具有安全性的ssl加密传输协议。
③ 链接方式与端口不同。
一般来说,http协议端口是80,https的端口为443.
④ http连接很简单,是无状态的。
https是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
三、 https工作原理
客户端用https+url访问服务器,要求web服务器简历ssl链接。
web服务器收到请求后,将网站的证书(其中包括公钥),返回或者说传输给客户端。
客户端和web服务器端开始协商ssl链接的安全等级,也就是加密等级。
建立会话密钥,通过网站的公钥来加密会话密钥,传送给网站。
web服务器通过自己的私钥解密出会话密钥。
web服务器通过会话密钥加密客户端之间的通信。
(对称加密与非对称加密)
四、 https的优缺点
优点:
1. 可认证用户和服务器,确保数据发送到正确的客户机和服务器。
2. 更加安全。
3. 但是它并不是绝对安全,但是它大幅增加了中间人攻击的成本。
缺点:
1. 费时。 https握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电。
2. 缓存不高效。会增加数据开销。
3. 贵。 ssl证书也需要钱,功能越强大的证书费用越贵。
4. 绑定IP。 ssl证书需要绑定IP,不能在同一个IP上绑定多个域名,ipv4资源支持不了这种消耗。