一、HTTP和HTTPS的基本概念
- HTTP:超文本传输协议,是互联网上应用最为广泛的一种网络协议,是客户端和服务器之间请求和应答的标准(TCP),用于WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少
- HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP加入SSL层,HTTPS的安全基础是SSL,因此加密详细内容就需要SSL。
https协议的主要作用就是建立一个信息安全通道来确保数据的传输,确保网站的真实性
二、HTTP和HTTPS的区别
- HTTP是明文问传输,HTTPS是SSL加密传输协议,不同的连接方式,端口也不同,一般而言,HTTP端口是80,https端口是443
- HTTPS协议需要ca证书,费用较高
- HTTP连接很简单,是无状态的
- HTTPS是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议
三、HTTPS协议的工作原理
sequenceDiagram
客户端->>web服务端: 发送https,url访问,要求建立SSL链接
web服务端-->>客户端: 网站证书(公钥)
客户端->>web服务端: 协商SSL连接等级(加密等级)
web服务端-->>客户端: 确认等级
客户端-)web服务端: 建立会话密钥,通过网站的公钥来加密会话密钥并发送
web服务端-->>客户端: 通过私钥解密出会话密钥,通过会话密钥和客户端通信
四、HTTPS协议的优点
- 可认证用户和服务器,确保数据发送到正确的客户机和服务器
- 由于是加密传输、身份认证的网络协议,可防止数据在传输过程中被窃取、改变,确保数据的完整性
- HTTPS是现行架构下最安全的解决方案,虽然不是绝对按群,但它大幅增加了中间人攻击的成本
五、HTTPS协议的缺点
- 握手阶段比较费时,会使页面加载时间延长50%,增加10%-20%的耗电
- https的缓存不如http高效,会增加数据开销
- SSL证书也需要钱,功能越强大证书费用越高
- SSL证书需要绑定IP,不能在同一个ip上绑定多个域名,ipv4资源支持不了这种消耗