首页 > 编程知识 正文

http与https的区别,http请求和https请求

时间:2023-05-05 09:53:07 阅读:181303 作者:1377

HTTP和HTTPS请求进程1、HTTP请求进程HTTP协议位于网络协议的APP应用层,并且TCP/IP协议支持基础。 HTTP请求的基本步骤如下。

1 .域名解析

2.3握手创建TCP连接

3 .服务器响应传输数据

4.4挥手切断

TCP的三次握手过程如下

初始握手:客户端发送SYN消息和客户端的初始序列号x,等待服务器确认。

第二次握手:服务器接收消息并返回SYN Ack消息和初始序列号y

第三次握手:客户端从服务器接收回复,并返回Seq=X 1和Ack=Y 1

使用信息说明3次握手很难理解,简单地说,为什么建立TCP连接需要3次握手,要分开客户端的发送功能和接收功能来计算TCP连接的建立,需要客户端的发送功能、客户端的接收功能握手三次,看看各自做了什么:

首次:客户端发送消息(启用客户端发送功能);

第二次:服务器接收并回复消息。 (可以使用服务器收发功能)

第三次:客户端接收并返回服务器消息。 (可以使用客户端接收功能)

一个常见的问题是,为什么建立连接需要三次握手? 从上面可以看到,最后一次握手是为了允许客户端接收消息。 在TCP连接中,客户端最初请求连接的消息因各种原因被阻塞,客户端为了超时放弃了这次的连接,但过了一会儿被阻塞的消息被转发到服务器,服务器直接进行了第二次握手

三次握手后,建立TCP连接,开始传输数据。 参数结束后,需要挥手切断连接。 4挥手的内容如下。

四次握手既然是为了确保四个收发功能正常,四次挥手也一定是为了确保这四个功能被正确切断。

第一次挥手:主动发送切断请求。 (发送断开请求后,活动方不发送任何数据。 这次挥手后,主动方的发送功能关闭了,但可以接收请求)

第二次挥手:被动方收到切断请求,回我知道了。 (被动方收到断开请求后,知道你不发送数据,立即关闭自己的接收数据功能。 此时,无源端可能还没有传输数据)

第三次挥手:被动方继续传输未完成的数据,结束后发送给我也不发送数据的要求。 (被动侧此时关闭数据发送功能)

第四次挥手:主动方接收请求,可以返回断开连接(在这种情况下,主动方关闭数据接收功能) )。

请注意,上述接收和发送数据功能均仅适用于用户数据,不包括协议数据。

因为第二次和第三次挥手是被动方发送的,所以如果被动方收到切断请求时没有需要传输的数据,显然可以第二次和第三次握手。 此时,只要挥手三次就可以切断。

第四次挥手的作用是保证被动方的切断请求到达主动方。 第三次挥手后,被动方完全断开,但消息由于网络原因未能到达主动方时,主动方一直傻傻地等待,无法关闭接收功能。

第四次挥手后,需要等待2MSL才能关闭连接的理由是: 1、如果客户端发送的第四次挥手信息没有到达服务器端,服务器将超时并重新发送第三次挥手信息,但Clare 2、防止网上存在残留的失效消息。 如果此连接在网络上有消息被阻止,并且在关闭该连接后到达会干扰其他连接,则客户端将通过摆动最后一招并等待2msl(2 (两条消息的最大生存时间)来完成此连接的所有消息

HTTPS请求流程查看上面的HTTP请求流程可以发现,所有HTTP传输数据都是在网络中赤裸裸的移动,如果被第三方拦截,则可以看到所有内容并进行修改。 这对一些金融体系来说是无法忍受的。 因此,超文本传输安全协议的出现迫在眉睫。

HTTPS基于HTTP,不同之处在于在TCP/IP协议的基础上新添加了SSL

SSL层是为了确保HTTPS传输过程的安全性。 保证的方式是,在他传输数据之前先传输一组对称密钥,然后用此对称密钥加密key,再用此key加密传输的数据,以防止第三方解密或更改。 机密流程如下

1、客户端请求https连接。

2、服务器返回加密的公钥。 通常是SSL证书。

3、客户端从该SSL证书解析公钥,随机生成一个key,用公钥加密该key并发送到服务器。 (这个步骤是安全的,因为只有服务器才能读取这个密钥。)。

4、服务器用私钥解密key。

5、客户端使用该密钥加密要传输的数据。

6、服务器使用key解析数据。

简单来说,SSL加密方案使用一个密钥加密另一个密钥(key ),并使用加密的密钥加密数据。

这样做可以确保安全性,但每次连接时都必须使用密钥加密,因此在请求中会产生额外的开销。 另外,为了保证服务器最初返回的公钥的可靠性,需要第三方进行保证。 通常购买SSL证书。 这也导致额外的经济支出。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。