一、http和https的基本概念
- http:超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
- https:是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版,即 HTTP下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要SSL。
https协议的主要作用是:建立一个信息安全通道,来确保数据的传输,确保网站的真实性。
二、http和https的区别
- 费用区别:https由于需要ca证书,费用较高。
- 传输差别:http是超文本传输协议,信息是明文传输;https则是具有安全性的ssl加密传输。
- 端口号不同:http默认是80端口;https端口号是443.
- 连接方式差别:http连接简单,是无状态的;https协议则是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。
三、https协议的工作原理
- 客户使用https url访问服务器,与web服务器建立ssl连接;
- web服务器收到客户端的请求之后,会将网站的证书(包含公钥),返回给客户端;
- 客户端和服务端开始协商ssl连接的安全等级,也就是加密的等级;
- 客户端浏览器通过双方协商一致的安全等级,建立会话秘钥,然后通过网站的公钥来加密会话秘钥,并传送给服务器;
- 服务器通过自己的私钥揭秘出会话秘钥;
- 服务器通过会话秘钥加密与客户端之间通信。
四、https的优缺点
1. 优点
- HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 http 协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
- HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
- 谷歌曾在 2014 年 8 月份调整搜索引擎算法,并称“比起同等 HTTP 网站,采用 HTTPS 加密的网站在搜索结果中的排名将会更高”。
2. 缺点
- https 握手阶段比较费时,会使页面加载时间延长 50%,增加 10%~20%的耗电。
- https 缓存不如 http 高效,会增加数据开销。
- SSL 证书也需要钱,功能越强大的证书费用越高。
- SSL 证书需要绑定 IP,不能再同一个 ip 上绑定多个域名,ipv4 资源支持不了这种消耗。