美文网首页软件测试
自我总结之日常协议

自我总结之日常协议

作者: 我心悠然 | 来源:发表于2020-04-19 22:14 被阅读0次

做一个接口测试人员,最常接触的就是http/https协议,今天主要是想写一下我对http/https协议的理解。(先来点干货)http/https协议是应用层的协议,承载于TCP之上,是用来连接client和server。http协议的操作流程是:client通过TCP握手协议和server建立连接,向server端发送请求(Request),server端接收到请求之后,进行处理然后将结果(Response)返回给client。

当我们通过抓包工具fiddler抓到请求连接(如图),我们要获取其中的参数,然后通过模拟传参,获得服务器的返回值,从而进行测试。

其中对于我们来说比较看重要的是headers里面的User-Agent和Cookies;客户端通常会把设备信息存在User-Agent,供Server区分Client的类型。当我们在写测试脚本的时候,可以通过User-Agent来模拟APP端还是PC端发起Request。Cookies是存储在client的文本文件或者在内存中的数据,是存放在client中,是client访问server的身份证。

当我们在模拟网站的接口请求时,往往先进行登录操作,我们先通过执行登录接口,然后再将接口中的Cookies保留,再进行网站的其他操作。(干货重点)同cookies相似的还有一个叫session,两者的区别在于cookies是存储在Client,而session存储在Server。

这段代码就是我们定义一个自动存储cookies的对象,然后通过调用登录接口,然后就可以自动保存cookies了。

Client对Server进行数据传输,发起的请求常用的有GET和POST两者。Get请求,一般是可以通过浏览器打开的URL连接,参数都是加在?后面通过&连接。Post请求分为header和body,参数写在body里面。这两者的区别是,Get参数放在header的URL里面,URL有大小限制连接可能被截取;Post参数在body里面,body里面没有限制大小,适用于大量数据参数。Post的安全性要比Get高,Get的请求参数可以被用户看到。

另外来说一下https协议,https协议是基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护,相当于http通过SSL加密后通过TCP进行传输。http和https的区别是,http是不加密的,https是加密的,安全性上来说https更高。但HTTPS证书需要购买申请,同时https在耗时上更久,加载时间更久,最好两者结合使用。

在进行模拟接口请求时,我们偶尔会遇到服务端返回签名错误的提示,签名是用来确保传输数据的安全,服务端会有一个签名校验的过程,就是通过密钥和参数按照特定规则进行MD5加密,然后进行校验,判断数据是否是平台内部的数据传输,故在模拟时要和开发同步签名的规则。

另外关于安全性,我们常常听说有公钥和私钥。公钥和私钥到底是用来干嘛的呢?公钥是用来加密的,一般在客户端,客户端通过公钥加密传到服务器,服务器只能通过特定的私钥进行解析,才能获取客户端传过来的内容。如何确保我们的证书没有被劫持过,所以就有了根证书。用户通过https请求时,服务器会把含有公钥的证书发给客户端,客户端会通过系统的根证书校验服务器证书是否伪造,验证通过才能继续请求。Fiddler等代理抓https请求就是基于这个原理,用户安装fiddler的根证书,fiddler所有的请求,用自己签名后的数据返回给客户端。

目前我对接触到的http/https协议也是略微皮毛,只是在工作中经历了http到https的转变,从模拟APP接口请求到WEB接口请求,从Python的request接触到session。对于我们来说除了模拟了接口请求,更多的是要对于接口返回的response进行数据校验,这一点后期详解。虽然作为一个测试我们可能不像开发一样很深入的理解协议,但是我们依旧需要了解基础的内容,希望大家都能够努力加油吧!

相关文章

  • 自我总结之日常协议

    做一个接口测试人员,最常接触的就是http/https协议,今天主要是想写一下我对http/https协议的理解。...

  • 网络相关之Cookie和Session

    推荐阅读:备战2020——iOS全新面试题总结 一、Cookie 网络相关之HTTP协议 这里有说到,HTTP协议...

  • 【复盘】

    触点:工作任务_草拟会员服务协议 联想实际:日常生活中各种会员:wps、QQ音乐等等 总结: 1.留意日常生活中的...

  • StreamingMedia文章目录

    系列总结 RTMP协议总结 RTMP协议 01 RTMP入门RTMP协议 02 视频Chunk和音频Chunk到底...

  • 总结实践165

    291028~魏鸿超 2017/7/26 连续总结165天 总结内容: 自我鼓励之箴言集锦 自我鼓励分为三个层面,...

  • 知识分享之规范——SSL协议与证书的划分

    知识分享之规范——SSL协议与证书的划分 背景 知识分享之规范类别是我进行整理的日常开发使用的各类规范说明,作为一...

  • 教练之自我总结

    今天教练对话练习收到了很多礼物,在结束后有个觉察,为什么放不下期待,期待自己能完成一场很棒的教练,在这背后...

  • FIX协议-接入总结

    FIX协议-接入总结 它是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之...

  • TCP和UDP的区别

    TCP和UDP的区别: TCP协议和UDP协议特性区别总结: TCP协议可靠;UDP协议不可靠 TCP协议是面向连...

  • 赤月之巅用户协议

    赤月之巅用户协议 欢迎申请使用赤月之巅提供的服务! 《赤月之巅用户协议》(以下简称“本协议”)由您与赤月之巅共同缔...

网友评论

    本文标题:自我总结之日常协议

    本文链接:https://www.haomeiwen.com/subject/dwrwbhtx.html