HTTP协议 和 HTTPS协议

HTTP协议

协议:网络上数据传输时,约定好的统一的数据格式
http是网络分层中的应用层(应用程序)协议
在这里插入图片描述

HTTP协议格式

在这里插入图片描述
Response中只有状态行和Request不太一样,里面由三部分组成 :Version ,状态码,状态码描述

HTTPS协议

由HTTP我们可以看出,这样进行交互是不安全的,因为其在传送数据的时候(包括账号密码),都是明文传送,这很容易被窃取,那么为了防止这样的情况发生,就有了HTTPS协议.
HTTPS全称是HTTP over SSL,也就是通过SSL/TLS加密HTTP数据,这或许是SSL最广泛的应用。可以简单的理解为HTTPS多了一层加密解密层,在发送前加密,在收到后解密,在网络中传输的都是经过加密的数据。

这里先要提到一个非对称加密:
非对称加密使用两个密钥,一个是public key,一个是private key。通过一个特殊的数学算法,使得数据的加密和解密使用不同的密钥。因为用的是不同的密钥,所以称为非对称加密。

具体在使用中,A和B都各有一个public key和一个private key,这些key根据相应的算法已经生成好了。private key只保留在各自的本地,public key传给对方。A要给B发送网络数据,那么A先使用自己的private key(只有A知道)加密数据的hash值,之后再用B的public key加密数据。之后,A将加密的hash值和加密的数据再加一些其他的信息,发送给B。B收到了之后,先用自己的private key(只有B知道)解密数据,本地运算一个hash值,之后用A的public key解密hash值,对比两个hash值,以检验数据的完整性。

看起来非对称加密不错,但是要是中间人从中进行攻击,让A拿到假的以为是真的,B拿到假的也会以为是真的,数据就会被中间人获取到了,

现实中,通过CA(Certificate Authority)来保证public key的真实性。CA也是基于非对称加密算法来工作。有了CA,B会先把自己的public key(和一些其他信息)交给CA。CA用自己的private key加密这些数据,加密完的数据称为B的数字证书。现在B要向A传递public key,B传递的是CA加密之后的数字证书。A收到以后,会通过CA发布的CA证书(包含了CA的public key),来解密B的数字证书,从而获得B的public key。

CA的厉害的点就是,CA把自己的CA证书集成在了浏览器和操作系统里面。A拿到浏览器或者操作系统的时候,已经有了CA证书,没有必要通过网络获取,那自然也不存在劫持的问题。

用户在HTTPS协议下的通信:

1.用户向web服务器发起一个安全连接的请求
2.服务器返回经过CA认证的数字证书,证书里面包含了服务器的public key
3.用户拿到数字证书,用自己浏览器内置的CA证书解密得到服务器的public key
4.用户用服务器的public key加密一个用于接下来的对称加密算法的密钥,传给web服务器
因为只有服务器有private key可以解密,所以不用担心中间人拦截这个加密的密钥
5.服务器拿到这个加密的密钥,解密获取密钥,再使用对称加密算法,和用户完成接下来的网络通信
https://zhuanlan.zhihu.com/p/36981565

HTTP协议 和 HTTPS协议的区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的区别主要如下:

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值