1、按照接口的表现形式分类
编号 | 接口 | 协议 | 描述 |
1 | HTTP接口 | HTTP协议 | 使用广泛的、轻量级、跨平台、跨语言的,基本上所有的第三方提供的API都有有HTTP版本,HTTP接口更多的就是传输字符串或者JSON文本 |
2 | RPC接口 | HTTP、TCP、UDP、自定协议 | RPC技术是指远程过程调用,它本质上是一种Client/Server模式,可以像调用本地方法一样去调用远程服务器上的方法,支持多种数据传输方式(Json、XML、Binary、Protobuf等) |
3 | Web Service接口 | 基于http协议的soap协议的封装和补充 | Web Service其实是一种概念,我们可以将以WEB形式提供的服务称为Web Service,所以像RESTful、XML-RPC、SOAP等都可以当成是Web Service的一种实现方式。相对于HTTP接口,支持更复杂的对象 |
4 | RESTfu | HTTP协议 | 它不是一种规范,而是一种设计准则,用不同的HTTP动词(GET、POST、DELETE、PUT等)来表达不同的请求 |
5 | WebSocket | udp、tcp协议 | 是一个底层的,双向通信协议 ,适合于客户端和服务器端之间信息实时交互,所谓http都是对socket进行了一次包装而已,socket更加底层 |
6 | FTP | TCP/IP 协议组中的协议之一 | 文件传输协议,FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。 其中FTP服务器用来存储文件 |
2、按照访问形式分类
编号 | 分类 | 描述 |
1 | 使用用户令牌,通过Web API接口进行数据访问 | 这种方式,可以有效识别用户的身份,为用户接口返回用户相关的数据,如包括用户信息维护、密码修改、或者用户联系人等与用户身份相关的数据 |
2 | 使用安全签名进行数据提交 |
这种方式提交的数据,URL连接的签名参数是经过安全一定规则的加密的,服务器收到数据后也经过同样规则的安全加密,确认数据没有被中途篡改后,再进行数据修改处理。因此我们可以为不同接入方式,如Web/APP/Winfrom等不同接入方式指定不同的加密秘钥,但是秘钥是双方约定的,并不在网络连接上传输,连接传输的一般是这个接入的AppID,服务器通过这个AppID来进行签名参数的加密对比,这种方式,类似微信后台的回调处理机制,它们就是经过这样的处理。 |
3 | 提供公开的接口调用,不需要传入用户令牌、或者对参数进行加密签名 | 这种接口一般较少,只是提供一些很常规的数据显示而已 |