HTTP与HTTPS的区别
HTTP与HTTPS的区别
1,HTTP:
HTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
超文本传输协议HTTP协议 被用于在 Web 浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务器之间的传输保温,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感的信息,如:支付密码等
2,HTTPS:
为了解决HTTP协议明文传输不安全的缺点,我们可以使用另一种协议:安全套接字层超文本传输协议HTTPS协议,为了数据传输的安全,HTTPS 在 HTTP 的基础上加入了 SSL 协议,SSL 依靠整数来验证服务器的身份,并未服务器和浏览器之间的通信进行加密。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
3,HTTPS的工作过程:
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议:
- (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
- (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
- (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
- (4)客户端的浏览器根据双方同意的安全等级,建立会话**,然后利用网站的公钥将会话**加密,并传送给网站。
- (5)Web服务器利用自己的私钥解密出会话**。
- (6)Web服务器利用会话**加密与客户端之间的通信。
4,HTTP与HTTPS的区别:
- HTTPS 协议需要到 CA 申请证书;
- HTTP 协议运行在 TCP 之上,所有传输的内容都是明文,HTTPS 运行在== SSL/TLS之上==,SSL /TLS运行在TCP
之上,所有传输的内容都是经过加密的; - HTTPS 和 HTTP 使用的连接方式不同,端口也不同,HTTP -> 80 端口; HTTPS -> 443端口
- HTTPS 可以有效防止运营商劫持,解决了防劫持问题
5,HTTP切换到HTTPS:
这里需要将页面中所有的链接,例如js,css,图片等等链接都由http改为https。例如:http://www.baidu.com改为https://www.baidu.com。
这里虽然将http切换为了https,还是建议保留http。所以我们在切换的时候可以做http和https的兼容,具体实现方式是,去掉页面链接中的http头部,这样可以自动匹配http头和https头。例如:将http://www.baidu.com为//www.baidu.com。然后当用户从http的入口进入访问页面时,页面就是http,如果用户是从https的入口进入访问页面,页面即使https的。
特别感谢:
参考至:https://www.cnblogs.com/wqhwe/p/5407468.html