软件测试面试题

一、cookies机制和session机制的区别:
  1、cookies数据保存在客户端。session数据保存在服务端
  2、cookies可以减轻服务器压力,但是不安全
  3、session安全一点,但是占用服务器资源。
  
二、简述TCP三次握手
1,客户端发动SYN报文段给服务端,SYN置为1,***seq=x,进入send状态,等待服务器响应
2,服务端发送SYN+ACK确认报文,SYN置为1,ACK=x+1(seq+1),seq=y,进入recv同步收到状态
3,客户端收到服务端确认后,发送ACK确认包,ACK=y+1,seq=z,进入ESTABLISHEDTCP连接成功状态

三、GET和POST的区别:
  简单来说:GET产生一个TCP数据包,POST产生两个TCP数据包
  严格的说:对于GET方式的请求,游览器会把http header和data一并发送出去,服务器响应200(返回数据);
  而对于POST请求。游览器先发送header,服务器响应100 continue,游览器再发送data,服务器响应200 ok(返回数据)

四、网络协议层级
软件测试面试题
(1)物理层(Physical,PH)传递信息需要利用一些物理传输媒体,如电缆、光纤等。物理层的任务就是为上层提供一个物理的连接,以及该物理连接表现出来的机械、电气、功能和过程特性,实现透明的比特流传输。在这一层,数据还没有组织,仅作为原始的比特流提交给上层——数据链路层。

(2)数据链路层(Data-link,D)数据链路层负责在2个相邻的结点之间的链路上实现无差错的数据帧传输。每一帧包括一定的数据和必要的控制信息,在接收方接收到数据出错时要通知发送方重发,直到这一帧无差错地到达接收结点,数据链路层就是把一条有可能出错的实际链路变成让网络层看起来像不会出错的数据链路。实现的主要功能有:帧的同步、差错控制、流量控制、寻址、帧内定界、透明比特组合传输等。

(3)网络层(Network,N)网络中通信的2个计算机之间可能要经过许多结点和链路,还可能经过几个通信子网。网络层数据传输的单位是分组(Packet)。网络层的主要任务是为要传输的分组选择一条合适的路径,使发送分组能够正确无误地按照给定的目的地址找到目的主机,交付给目的主机的传输层。

(4)传输层(Transport,T)传输层的主要任务是通过通信子网的特性,最佳地利用网络资源,并以可靠与经济的方式为2个端系统的会话层之间建立一条连接通道,以透明地传输报文。传输层向上一层提供一个可靠的端到端的服务,使会话层不知道传输层以下的数据通信的细节。传输层只存在端系统中,传输层以上各层就不再考虑信息传输的问题了。

(5)会话层(Session,S)在会话层以及以上各层中,数据的传输都以报文为单位,会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立以及维护应用之间的通信机制。如服务器验证用户登录便是由会话层完成的。

(6)表示层(Presentation,P)这一层主要解决用户信息的语法表示问题。它将要交换的数据从适合某一用户的抽象语法,转换为适合OSI内部表示使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩、加密和解密等工作都由表示层负责。

(7)应用层(Application,A)这是OSI参考模型的最高层。应用层确定进程之间通信的性质以满足用户的需求,以及提供网络与用户软件之间的接口服务。

五、http和https区别
1、https协议需要ca证书。
2、http端口是80,https是443。
3、http明文传输,安全性低;HTTPS=SSL+HTTP,可进行加密传输、身份认证,更安全