写点什么

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

作者:测试人
  • 2023-10-07
    北京
  • 本文字数:1044 字

    阅读完需:约 3 分钟

免费领取:测试资料+测试用例+简历模板+测试文档

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/27726

一、网络模型


二、常见接口协议


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

  • 协议:http

  • 域名:www.baidu.com

  • 端口:跟在域名后面,域名和端口之间使用“:”作为分隔符,非必须,如果省略端口部分将采用默认端口

  • 路径:/s

  • 请求参数: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:删除资源

发布于: 刚刚阅读数: 3
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试/测试开发丨接口测试学习笔记-常见的接口协议_软件测试_测试人_InfoQ写作社区