乐趣区

关于软件测试:软件测试详解9网络协议知识二

一、三次握手四次挥手

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。


退出移动版