本文仅当笔记,写的比较乱
RMI,Hessian,Burlap,Httpinvoker,Web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能不同(Hessian,Burlap,Httpinvoker用到的较少,略过)
RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。
通俗的说就是, WebService就是一些站点开放一些服务出来, 也可以是你自己开发的Service, 也就是一些方法, 通过URL,指定某一个方法名,发出请求,站点里的这个服务(方法),接到你的请求,根据传过来的参数,做一些处理, 然后把处理后的结果以XML形式返回来给你,你的程序就解析这些XML数据,然后显示出来或做其它操作.
用简单点的话说,就是系统对外的接口!
Web service是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。
简单说就是
RMI 限java应用程序之间,且使用Stream 技术(serialize)传输,在tcp协议上传递可序列化的java对象
Web service 则没有语言和平台限制,使用 xml传输
RMI效率优于Web service
Http协议中的方法
http协议通常包括的方法有很多,以下我只列出我在http/1.1协议定义中看到的方法:get、post、head、options、put、delete、trace、connect。
get方法用于获取URI资源,是最为常用的一种方法。
post方法用于向指定URI提交内容,服务器端响应其行为,该方法也极为常用。
head方法向URI发送请求,仅仅只需要获得响应的协议头。
put方法用于向URI发送请求,若URI不存在,则要求服务器端根据请求创建资源。当URI存在时,服务器端必须接受请求内容,将其作为URI资源的修改后版本。
delete方法用于删除URI标识的指定资源。
trace方法用于激活服务器端对请求的循环反馈,反馈作为http响应的正文内容被传输回客户端。
connect方法通常被用于使用代理连接。
在最初http协议定义的时候,http方法设置了get/post/put/delete。其实就对应了数据操作的查、新增、修改、删除的基本操作。
get操作是没有body部分的,如果要传递给服务器信息,都在URL中,而POST、Put、delete是有body部分,如果要传递信息,都放在body中。
但是后来实际使用的时候,很多没有依照原来的意思,只是将post作为复杂和安全的数据传递方法,因为请求的信息是放在body中,所以安全、而且丰富。
什么是REST?
REST 是一套用来创建Web Service的方法。
REST式的Web Service的主旨是让事情尽量的简单化。
REST式的Web Service使用HTTP里的方法:GET, POST, DELETE, PUT。你不需要使用URL或请求的内容来指定这个方法。
REST式的Web Service使用URL来指明你将要操作什么对象。
REST式的Web Service使用HTTP状态码作为返回值。
REST式的Web Service调用产生的HTTP请求内容只是用于服务数据——不是用来指明调用方法,目标对象或返回值的。