一、三次握手四次挥手

1、三次握手

所谓三次握手(Three-Way Handshake)即建设TCP连贯,就是指建设一个TCP连贯时,须要客户端和服务端总共发送3个包以确认连贯的建设。

(1)第一次握手:Client将标记位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,期待Server确认。

(2)第二次握手:Server收到数据包后由标记位SYN=1晓得Client申请建设连贯,Server将标记位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连贯申请,Server进入SYN_RCVD状态。

(3)第三次握手:Client收到确认后,查看ack是否为J+1,ACK是否为1,如果正确则将标记位ACK置为1,ack=K+1,并将该数据包发送给Server,Server查看ack是否为K+1,ACK是否为1,如果正确则连贯建设胜利,Client和Server进入ESTABLISHED状态,实现三次握手,随后Client与Server之间能够开始传输数据了。

2、四次挥手

所谓四次挥手(Four-Way Wavehand )即终止TCP连贯,就是指断开一个TCP连贯时,须要客户端和服务端总共发送4个包以确认连贯的断开。

因为TCP连贯时全双工的,因而,每个方向都必须要独自进行敞开,这一准则是当一方实现数据发送工作后,发送一个FIN来终止这一方向的连贯,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,然而在这个TCP连贯上依然可能发送数据,直到这一方向也发送了FIN。首先进行敞开的一方将执行被动敞开,而另一方则执行被动敞开。

(1)第一次挥手:Client发送一个FIN,用来敞开Client到Server的数据传送,Client进入FIN_WAIT_1状态 。

(2)第二次挥手:Server收到FIN后 ,发送一个ACK给Client,确认序号为收到序号+1(与SYN雷同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态 。

(3)第三次挥手:Server发送一个FIN,用来敞开Server到Client的数据传送,Server进入LAST_ACK状态。

(4)第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1 , Server进入CLOSED状态, 实现四次挥手。

二、http和https有区别

1、HTTP和HTTPS的基本概念

HTTP:是互联网上利用最为宽泛的一种网络协议,是一个客户端和服务器端申请和应答的规范(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协定,它能够使浏览器更加高效,使网络传输缩小。

HTTPS:是以平安为指标的HTTP通道,简略讲是HTTP的平安版,即HTTP下退出SSL层,HTTPS的平安根底是SSL,因而加密的具体内容就须要SSL。

HTTPS协定的次要作用能够分为两种:一种是建设一个信息安全通道,来保障数据传输的平安;另一种就是确认网站的真实性。

2、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、HTTPS比HTTP多了三次平安证书握手

(1)客户应用https的URL拜访Web服务器,要求与Web服务器建设SSL连贯。

(2)Web服务器收到客户端申请后,会将网站的证书信息(证书中蕴含公钥)传送一份给客户端。

(3)客户端的浏览器与Web服务器开始协商SSL连贯的安全等级,也就是信息加密的等级。

(4)客户端的浏览器依据双方同意的安全等级,建设会话密钥,而后利用网站的公钥将会话密钥加密,并传送给网站。

(5)Web服务器利用本人的私钥解密出会话密钥。

(6)Web服务器利用会话密钥加密与客户端之间的通信。

三、接口测试工具

软件接口是指程序中具体负责在不同模块之间传输或承受数据的并做解决的类或者函数。

接口测试就是通过向接口传递数据来测试这个接口是否正确。比方:一个QQ登录性能接口,就须要咱们传递QQ号和明码去验证这个登录接口是否正确,是否应用。

在测试接口的时候就须要应用到接口测试工具了,举荐应用国产的接口测试和接口文档生产工具apipost。