软件测试

测试需要掌握的http协议知识

2018-10-11  本文已影响19人  DayBreakL

一、开发与测试眼中的接口

  1. 开发眼中的接口

(1)Interface关键字用来声明一个接口。下面是接口声明的一个简单例子。

/* 文件名 : Animal.java */
interface Animal {
   public void eat();
   public void travel();
}

(2)类使用implements关键字实现接口

/* 文件名 : MammalInt.java */
public class MammalInt implements Animal{
 
   public void eat(){
      System.out.println("Mammal eats");
   }
 
   public void travel(){
      System.out.println("Mammal travels");
   } 
 
   public int noOfLegs(){
      return 0;
   }
 
   public static void main(String args[]){
      MammalInt m = new MammalInt();
      m.eat();
      m.travel();
   }
}

开发眼中的接口,是模块与模块的对接方式。

  1. 测试眼中的接口

测试眼中的接口,是协议接口,可以独立部署成一种服务。接口测试,也是协议接口测试。

二、接口协议

  1. 常见的接口协议

三、HTTP协议详解

  1. HTTP协议栈中的位置


    image.png

    HTTP和HTTPS网络构成不同,为什么有时候测试HTTP和HTTPS不能套用同一套测试方法,主要是由于他们下一层造成的差异。

  2. HTTP协议模型
    (1)HTTP协议永远都是客户端发起请求,服务器回送响应。

    image.png
    这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。
    (2)HTTP协议请求,包括请求行、请求头、请求正文。
    image.png
    请求行包括:请求方法、请求的url、协议及版本。url包含协议、ip、端口、应用名、资源路径等,如果是get请求,资源路径后面还可以跟请求参数
    请求头包括:请求正文的类型、编码类型、 Cookie(里面看sessionID)、请求正文长度、签名串sign、token等。
    请求正文包括:数据格式、xml、 json、键值对、&分割符、字符串

(3)HTTP协议响应,包括响应行、响应头、响应正文。


image.png

响应行包括:http协议版本、响应状态码
响应头包括:描述服务器的基本信息,如正文类型、编码类型。
响应正文包括:响应的消息体,如果是纯数据就返回数据,如果请求的是HTML页面,那么返回的就是HTML代码,如果是JS就是JS代码,如此之类。

  1. HTTP协议工作流程
    一次HTTP操作称为一个事务,其工作过程可分为四步:
    1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
    2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
    3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
    4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

  2. HTTP协议响应码

通过状态响应码,可以定位错误。所以必须掌握不同的响应码代表什么问题。

  1. 常用的http协议请求方式
    HTTP/1.1一共定义了8种请求方式,常见的请求方式有:get请求方式、post请求方式。他们区别如下:
    (1)get方式把参数包含在url中,post是通过request body传递参数。
    get方法url:
    http://127.0.0.1:8080?username=jianshu&password=1qaz2wsx
    post方法的url:
    http://127.0.0.1:8080
    请求体中:
{
    [
      "username"="jianshu";
      "password"="1qaz2wsx";
    ]
}

(2)get是从服务器获取数据,post是向服务器传输数据
(3)get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
(4)get安全性非常低,post安全性较高。

上一篇 下一篇

猜你喜欢

热点阅读