接口协议种类
网络模型
常见接口协议
RPC 协议
- RPC(Remote Procedure Call)
- 以本地代码调用的方式实现远程执行
- 主要用于公司内部的服务调用
- 优点:传输效率更高、性能损耗更低、自带负载均衡策略、更好的服务治理能力
- 常见的 RPC 协议
- Dubbo:Java 基础之上的高性能 RPC 协议
- gRPC:高性能通用 RPC 框架,基于 Protocol Buffers。PB 是一个语言中立、平台中立的数据序列化框架
- Thrift:与 gRPC 类似的多语言 RPC 框架
HTTP 协议
- 请求
- 请求行:method url protocol
- 请求方法:GET、POST、PUT、DELETE、HEAD
- 请求头: Host Cookie User-Agent
- 请求参数 query
- 请求体:JSON XML FORM
- 响应:
URI 和 URL
- URI,统一资源标识符,用来唯一的标识一个资源。
- URL,统一资源定位符,它是一种具体的 URI
- URL 结构:
https://www.baidu.com/s?wd=霍格沃兹&rsv_spt=1
- 协议:
http
- 域名:
www.baidu.com
- 端口:跟在域名后面,域名和端口之间使用“:”作为分隔符,非必须,如果省略端口部分将采用默认端口
- 路径:
/s
- 请求参数:
wd=霍格沃兹&rsv_spt=**1
HTTP 响应状态码
- 1xx 临时响应,表示通知信息,请求收到了或正在进行处理
- 2xx 表示成功,接受或知道了
- 3xx 表示重定向,要完成请求还必须才去进一步的行动
- 4xx 表示客户端请求错误
- 5xx 表示服务端错误
Restful 架构
- Restful:Representational State Transfer
- 借助于 HTTP 协议的基本请求方法代表资源的状态切换
- GET:获取资源
- POST:新增或者更新
- PUT:更新资源
- DELETE:删除资源
接口抓包工具 Charles
工具介绍
- 支持 SSL 代理
- 支持流量控制
- 支持重发网络请求,方便后端调试
- 支持修改网络请求参数
- 支持网络请求的截获并动态修改
- 可以自动将 json 或 xml 数据格式化,方便查看
安装
接口抓包工具Fiddler
工具介绍
抓取 HTTP 请求
- 设置:Tools → Options → Connections
- 确认抓包端口:默认为 8888
- 默认勾选 Act as system proxy on startup
抓取 HTTPS 请求
- Tools → Fiddler Options → HTTPS
- 勾选 Decrypt HTTPS Traffic
- 弹出安装证书弹窗 → 选择【Yes】-> 点击 【Yes】安装证书
- 点击 Actions → Open Windows Certificate Manager 查看证书
抓取移动端请求
- Tools → Fiddler Options → Connections
- 勾选 Allow remote computers to connect
- 移动端与电脑处于同一网络下
- 移动端配置网络代理
- 代理服务器主机:电脑IP
- 代理服务器端口:8888
- 浏览器输入 http://电脑ip:8888 下载 Fiddler 证书进行安装
断点
- 菜单栏 → Rules → Automatic Breakpoints ->选择断点方式
- 状态栏点击
- 命令行下输入
- 请求前断点:
bpu xxx
- 响应后断点:
bpafter xxx
弱网
- 菜单栏 → Rules → Performance → Simulate Modem Speeds
- 修改网络配置参数
- 菜单栏 → Rules → Customize Rules…
- 搜索关键词 simulate
- 修改延迟时间