HTTP和HTTPS的区别,以及HTTPS实现原理

URL:通信协议 + 域名地址
在这里插入图片描述
什么是通信协议呢?
就是浏览器和服务器交流的语言

HTTP协议是明文数据传输网络协议

HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。在数据进行传输之前,对数据进行加密,然后再发送到服务器。这样,就算数据被第三者所截获,但是由于数据是加密的,所以你的个人信息让然是安全的。这就是HTTP和HTTPS的最大区别。

了解HTTPS的实现原理之前先搞懂加密协议:

加密算法

对称加密:
加密和解密都是用的同一个密钥
eg:DES、AES
在这里插入图片描述
缺点:会产生海量的密钥不利于维护

非对称加密
加密使用的密钥和解密使用的密钥是不同的,分别为:公钥、私钥。
eg:RSA,DSA
非对称加密在请求发起方时,尽管使用的是公钥加密,但是因为必须使用私钥解密的特点,因此能够保证消息体在向服务器发送的过程中是安全的。缺点在于服务器返回的使用私钥加密的内容会被公钥解开。
在这里插入图片描述

哈希算法
将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多,且算法不可逆。
eg:MD5、SHA

客户端在获取一个公钥之后,如何确定这个公钥是正确的服务端发出来的呢?
答案是:使用证书

在这里插入图片描述

在这里插入图片描述

HTTPS实现原理

https通信时,首先建立ssl层的连接,服务端将ssl版本号和加密组件发到客户端,客户端收到后对ssl版本号和加密组件进行匹配,同时将CA证书及密钥发送到客户端。客户端对证书进行验证,验证通过后使用非对称加密对数据通信时的密钥进行协商。协商后得到一致的获得一致的对称加密密钥。然后使用对称加密算法进行TCP连接,后续的过程跟http的过程一致。三次握手,数据交换,四次挥手,通信结束。
在这里插入图片描述
用我自己的理解:客户端的AES密钥是随机产生的。客户端使用RSA算法加密的公钥对AES的密钥进行加密,传送给服务端。服务端使用RSA算法的私钥对加密过后AES密钥文件进行解密,得到AES密钥。得到AES密钥之后,后面的通讯都用AES进行

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你在狗叫什么、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值