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