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

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接: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;
>

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

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:删除资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值