几种API接口分类

792 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情

一、前言

作为程序员,在日常工作中,常常涉及到接口开发,API(Application Program Interface)作为应用程序编程接口,可以使用不同的编程语言进行API的开发。其中根据接口的表现形式和访问形式,可以分为不同的接口类型。

二、接口分类

1.按表现形式分类

接口协议说明
HTTP 接口HTTP当发起Http请求时,Http会通过TCP建立起一个到服务器的连接通道,在请求需要的数据完毕后,Http会立即将TCP连接断开,Http连接是一种短连接、无状态的连接。
RPC 接口HTTP、TCP、UDP、自定义协议RPC远程过程调用协议,它本质上是一种Client/Server模式,就相当于调用本地接口一样调用远程服务的接口,支持多种数据传输方式,如Json、XML、Binary等。
WebService 接口SOAP协议通过XML封装数据,Http协议传输数据WebService是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是系统对外的接口,使用XML来封装数据,不依赖于语言,不依赖于平台。
RESTFULHTTPRESTFUL一种设计准则,而不是一种规范,用不同的HTTP动词(如:GET、POST、DELETE、PUT)来表达不同的请求,降低开发的复杂性,提高系统的可伸缩性。
WebSocketTCP、UDPWebSocket是一个持久化的双向通信协议,可实现客户端和服务器端之间即时通讯。在WebSocket中,客户端和服务器只需要完成一次握手,就可以创建持久性的连接,并进行双向数据传输。
FTPTCP/IP 协议组中的协议之一FTP是文件传输协议,FTP协议包括两个组成部分,其一为FTP服务器(存储文件),其二为FTP客户端。

2.按访问形式分类

访问类型说明应用
使用用户令牌,通过Web API接口进行数据访问可以有效识别用户的身份,为用户接口返回用户相关的数据。用户信息维护、密码修改、用户管理等与用户信息相关的数据
使用安全签名进行数据提交这种方式提交的数据,URL连接的签名参数是经过安全一定规则的加密的,服务器收到数据后也经过同样规则的安全加密,确认数据没有被中途篡改后,再进行数据修改处理。可以为不同接入方式(Web/APP/Winfrom等),指定不同的加密秘钥,秘钥是双方约定的,并不在网络连接上传输,连接传输的一般是这个接入的AppID,服务器通过这个AppID来进行签名参数的加密对比,微信后台的回调处理机制就类似于这种处理方式。获取令牌、用户注册、处理业务数据等
提供公开的接口调用,不需要传入用户令牌、或者对参数进行加密签名这种接口一般较少,只是提供一些很常规的数据显示而已。查询系统版本、时间、天气等数据

不同访问形式的接口应用场景

WebAPI访问方式.png