在这以前必定要好好理解一下接口的含义,我以为在这一类中接口理解成规则很恰当。java
http接口:基于HTTP协议的开发接口.这个并不能排除没有使用其余的协议。数据库
api接口:API(Application Programming Interface)应用程序编程接口,应用也包括网络应用程序,就像api文档基本上就是使用说明书,API接口能够简单理解成“应用程序使用接口”。编程
RPC接口:Remote Procedure Calls 远程过程调用 (RPC) 是一种协议,程序可以使用这种协议向网络中的另外一台计算机上的程序请求服务。因为使用 RPC 的程序没必要了解支持通讯的网络协议的状况,所以 RPC 提升了程序的互操做性。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。 RPC(远程过程调用)是一项普遍用于支持分布式应用程序(不一样组件分布在不一样计算机上的应用程序)的技术。RPC 的主要目的是为组件提供一种相互通讯的方式,使这些组件之间可以相互发出请求并传递这些请求的结果。 没有语言限制。api
RMI:RMI(Remote Method Invocation,远程方法调用)RMI是针对于java语言的, RMI 容许您使用Java编写分布式对象服务器
Webservice接口:Webservice是系统对外的接口,好比你要从别的网站或服务器上获取资源或信息,别人确定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。网络
RESTful : 简称 REST,是描述了一个架构样式的网络系统,其核心是面向资源,REST专门针对网络应用设计和开发方式,以下降开发的复杂性,提升系统的可伸缩性。REST提出设计概念和准则为:架构
1.网络上的全部事物均可以被抽象为资源(resource)分布式
2.每个资源都有惟一的资源标识(resource identifier),对资源的操做不会改变这些标识ide
3.全部的操做都是无状态的网站
关于RPC和RMI的区别,各种博客有不少,我就不说了。Webservice和RESTful ,我不知道你说的是那个(Webservice这个是个大类,包括RESTful )你能够看看 SOAP Webservice和RESTful Webservice 的区别。不要刻意去混淆找区别,有些是从不一样角度、层次而言。也有可能同一个东西兼顾(不一样层次、角度的兼顾)。在现在这个软件泛滥的年代,不一样的人叫法不一样不少,偷换概念的也有不少。
以上是我我的见解,若有异议,欢迎指正。转载注明出处。