iTesting软件测试知识分享

接口测试入门及进阶

本文是功能测试进阶系列直播课程第3讲,接口测试入门及进阶。 请至公众号 TesterTalk 查看详细内容。

RPC:远程过程调用。RPC的核心并不在于使用什么协议。RPC的目的是让你在本地调用远程的方法,而对你来说这个调用是透明的,你并不知道这个调用的方法是部署哪里。通过RPC能解耦服务,这才是使用RPC的真正目的。RPC的原理主要用到了动态代理模式,至于http协议,只是传输协议而已。

RPC是一个软件结构概念,是构建分布式应用的理论基础。就好比为啥你家可以用到发电厂发出来的电?是因为电是可以传输的。至于用铜线还是用铁丝还是其他 种类的导线,也就是用http还是用其他协议的问题了。

RESTful : 简称 REST,是描述了一个架构样式的网络系统,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。REST提出设计概念和准则为:

1.网络上的所有事物都可以被抽象为资源(resource)

2.每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识

3.所有的操作都是无状态的

REST – REpresentational State Transfer 直接翻译:表现层状态转移。一句话概括很精辟:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

REST不是”rest”这个单词,而是几个单词缩写。 但即使那几个单词说出来,也无法理解在说什么 -_-!! (不是要贬低人,是我自己也理解困难);1.
REST描述的是在网络中client和server的一种交互形式;
REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口);

  1. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。
    比如:http://api.qc.com/v1/newsfeed: 获取某人的新鲜;
    http://api.qc.com/v1/friends: 获取某人的好友列表;
    http://api.qc.com/v1/profile: 获取某人的详细信息;
  2. 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
    GET 用来获取资源,
    POST 用来新建资源(也可以用于更新资源),
    PUT 用来更新资源,
    DELETE 用来删除资源。
    比如:DELETE http://api.qc.com/v1/friends: 删除某人的好友 (在http parameter指定好友id)
    POST http://api.qc.com/v1/friends: 添加好友
    UPDATE http://api.qc.com/v1/profile: 更新个人资料
    禁止使用: GET http://api.qc.com/v1/deleteFriend

看Url就知道要什么
看http method就知道干什么
看http status code就知道结果如何

🐶 您的支持将鼓励我继续创作 🐶
-------------评论, 吐槽, 学习交流,请关注微信公众号 iTesting-------------
iTesting wechat
扫码关注,跟作者互动