day17-接口测试基础HTTP协议

接口测试

什么是接口

接口就是服务器端定义的一堆函数或者是方法的集合,接口调用其实就是在调用这堆函数或者是方法。

协议的概念

  • 网络协议是通信计算机双方必须遵从的一组约定。如怎样建立连接、怎样互相识别等。只有遵守这个约定,计算机之间才能互相通信交流。它最终体现为在网络上传输的数据包的格式。
  • 协议往往分成几个层次进行定义(协议栈),分层定义是为了使某一层协议的改变不影响其他层次的协议。

TCP/IP四层协议

day17-接口测试基础HTTP协议_第1张图片

day17-接口测试基础HTTP协议_第2张图片

应用层的协议包括telnet协议、FTP协议、HTTP协议、SMTP协议等。

HTTP协议

概念

超文本传输协议是互联网上应用最为广泛的一种网络协议。基于TCP/IP模型的应用层协议。

HTTP协议不但可以传输文本数据,还可以传输音频、视频、超链接、图片等内容。

HTTPS:HTTP+SSL

HTTP由请求和响应构成,是一个标准的客户端服务器模型(B/S架构)

HTTP协议永远都是客户端发起请求,服务器回送响应

HTTP请求过程

一次http操作称为一个事务

  1. 浏览器输入
  2. dns域名解析:域名月ip映射
  3. 建立tcp连接
  4. 发送http request:请求信息
  5. web服务器接收请求
  6. 应用服务器处理业务逻辑
  7. 关闭tcp连接:请求响应完成。如果浏览器在其头部信息中加入了connection:keep-alive,则tcp连接仍然保持打开状态
  8. 浏览器:渲染响应页面

HTTTP协议的特性

  1. 无连接性

限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后就断开连接,可以节省传输事件。

早期是这么设计,但随着时间推移网页越来越复杂里面嵌入的信息很多,如果每次访问信息都要建立一次TCP连接就很低效。于是就使用keep-alive来解决。

keep-alive虽然有一定的好处,但它同样影响性能,因为在处理暂停期间,本来可以释放的资源仍然被占用。

HTTP协议的请求类型

  • GET:从服务器端获取资源数据
  • POST:向服务器端提交数据
  • OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法
  • HEAD:获取与GET请求一致的响应头
  • PUT:用来更新一个已有的实体。通过把已经存在的资源的ID和新的实体用PUT请求上传到服务器端来更新资源
  • DELETE:从服务器上删除资源。需要把要删除的资源的ID上传给服务器
  • TRACE:回显服务器收到的请求,主要用于测试和诊断

GET和POST的区别

  • GET请求一般用于向服务器请求获取一个资源,没有副作用,一般会在客户端做缓存。POST请求一般用于向服务器提交数据并让其去完成一件事,所以这个操作是由副作用的,不会再客户端做缓存。
  • GET请求发送数据的时候,一般会将请求数据放在url字符串中发送给服务器端,所以从安全性来看没有POST高,所以GET请求一般不会用于比较隐私数据的传输。而POST请求是将请求数据放在请求体body里面,一般用于表单数据、登录数据等数据的传输。

你可能感兴趣的:(软件测试,http,网络协议,网络,测试工程师,软件测试)