HTTP及其进阶HTTPS

相信大家在平时上网的过程中一定会发现,有些网站的域名前是http://但有些网站的域名前却是https://同样浏览网页,那为什么会出现这样的不同呢?

想要了解这个问题,我们就要先了解http的工作原理。

http协议,既作用在应用层的超文本传输协议。

顾名思义,http协议的作用就是服务器与客户端之间进行数据传输。这里传输的数据可能是文本,也可以是超越文本的,如图片,音乐,视频等数据。

如图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDlhqzpm6rlrqI,size_20,color_FFFFFF,t_70,g_se,x_16 

客户端需要先与服务器建立tcp链接,在连接完成之后,浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。两者之间采用超文本传送协议(HTTP)进行通信。由此可知,HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。

其请求报文如图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDlhqzpm6rlrqI,size_20,color_FFFFFF,t_70,g_se,x_16

 

那么http的通信过程我们就可以总结为:

(1)客户与服务器建立tcp连接;
(2)客户向服务器提出http 请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)在通信完成之后客户与服务器关闭连接。

但根据这个过程我们很容易发现,在客户端与服务器通信的过程中,无论是客户端的请求还是服务器的回应。两者的数据包在网络中都是未经任何加密的明文传输。也就是说如果两者的数据包在传输过程中被抓取,那么客户或者服务器的信息就轻易暴露了。

那么有没有办法保护这些通讯包呢?答案是肯定的,有问题当然就有解决方法。

这时我们就要用到https了。通过名称我们会发现其与http相比多了一个s,而这个s就是为http报文加密的协议(ssl/tls)

两者都是加密协议,但相比而言tls使用更多。所以我们着重了解一下tls

而想要了解tls就得先了解数据加密。在现有的加密方式中分为对称加密和非对称加密。

首先,我们来看对称加密,如图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDlhqzpm6rlrqI,size_20,color_FFFFFF,t_70,g_se,x_16

私钥与公钥成对的存在于会话双方,双方将自己的私钥与公钥混合发给对方。

在收到对方发送的私钥与公钥之后再与自己的私钥混合,这样便形成了只有会话双方知道的蜜钥。

接下来我们再看非对称加密,如图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDlhqzpm6rlrqI,size_20,color_FFFFFF,t_70,g_se,x_16

私钥与公钥都存在于服务器。当对话双方建立联系之后,服务器会将公钥发送给客户端,客户端就用公钥为数据加密。

服务器接收到之后用私钥解密,并用私钥加密数据回应客户端,而客户端则用公钥解密。

接下来我们来看tls的加密方式,如图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETkDlhqzpm6rlrqI,size_20,color_FFFFFF,t_70,g_se,x_16 

在建立tcp链接之后,客户端会向服务器发送client hello包,其中包含tls版本,加密套件,以及产生的第1个随机数。

当服务器收到之后会回复server hello包,其中包含自己的tls版本,加密套件和第二个随机数

同时会发送certificate server key exchange server hello done

客户端收到以后发送用公钥加密后的第三个随机数

当服务器成功解密,同意之后便会话双方便使用还加密方式进行加密。

形成加密会话之后就成为了http的进阶版https。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值