• 软件测试/测试开发丨接口测试学习笔记-常见的接口协议


    点此获取更多相关资料

    本文为霍格沃兹测试开发学社学员学习笔记分享
    原文链接:https://ceshiren.com/t/topic/27726

    一、网络模型

    image

    二、常见接口协议

    image

    RPC协议

    • RPC(remote procedure call)
    • 以本地代码调用的方式实现远程执行
    • 主要用于公司内部的服务调用

    优点

    • 传输效率高,性能损耗低、自带负载均衡、更好的服务治理能力

    常见的RPC协议

    • Dubbo:Java基础上的高性能RPC协议
    • gRPC:高性能通用RPC框架,基于protocol buffers(一个语言中立,平台中立的数据序列化框架)
    • Thrift:与gRPC类似的多语言RPC框架

    三、HTTP 协议详解

    3.1、HTTP协议

    • 请求

      • 请求行:method、URL、protocol
      • 请求方法:get、post、put、delete、head
      • 请求头:Cookie、user-agent
      • 请求参数:query
      • 请求体:Json、xml、form
    • 响应

      • 响应状态行
      • 响应头
      • 响应体

    3.2、URI和URL

    • URI:统一资源标识符,用来唯一标识一个资源

    • URL:统一资源定位符,它是一种具体的URI

    • URL结构:
      https://www.baidu.com/s?wd=霍格沃兹&rsv_spt=1

      1. 协议:http
      2. 域名:www.baidu.com
      3. 端口:跟在域名后面,域名和端口之间使用“:”作为分隔符,非必须,如果省略端口部分将采用默认端口
      4. 路径:/s
      5. 请求参数:wd=霍格沃兹&rsv_spt=**1

    3.3、HTTP 请求报文

    > GET /uploads/user/avatar/31438/8216a3.jpg HTTP/1.1
    > Host: ceshiren.com
    > Accept-Encoding: deflate, gzip
    > Connection: keep-alive
    > Pragma: no-cache
    > Cache-Control: no-cache
    > User-Agent: Mozilla/5.0 
    (Macintosh; Intel Mac OS X 10_15_0)
     AppleWebKit/537.36 
     (KHTML, like Gecko) 
     Chrome/80.0.3987.116 Safari/537.36
    > Accept: image/webp,image/apng,image/*,*/*;q=0.8
    > Referer: https://ceshiren.com/
    > Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
    > Cookie: user_id=xx;
    
    _homeland_session=xx;
    >
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3.4、HTTP 响应报文

    < HTTP/1.1 200 OK

    < Server: nginx/1.10.2
    < Date: Thu, 12 Mar 2020 09:13:44 GMT
    < Content-Type: image/png
    < Content-Length: 11390
    < Connection: keep-alive
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.5、HTTP 响应状态码

    • 1xx 临时响应,表示通知信息,请求收到了或正在进行处理

    • 2xx 表示成功,接受或知道了

      • 200 成功
    • 3xx 表示重定向,要完成请求还必须才去进一步的行动

      • 301 永久移动
      • 302 临时移动
    • 4xx 表示客户端请求错误

      • 403 未授权
      • 404 未找到
    • 5xx 表示服务端错误

      • 500 服务器内部错误
      • 503 服务不可用

    四、Restful 架构

    • Restful:Representational State Transfer

    • 借助于 HTTP 协议的基本请求方法代表资源的状态切换

      • GET:获取资源
      • POST:新增或者更新
      • PUT:更新资源
      • DELETE:删除资源
  • 相关阅读:
    CODEFORCES --- 630A. Again Twenty Five!
    微信公众号发送消息
    如何评估测试用例的优先级?
    不容易解的题10.10
    AJAX基于XML的数据交换、XML和JSON的区别
    分页查询方案总结
    NNDL 实验六 卷积神经网络
    大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    学单片机怎么在3-5个月内找到工作?
  • 原文地址:https://blog.csdn.net/Ceshiren666/article/details/133635097