web服务,服务器,容器,中间件

                                                                                  web服务
广义的web服务:以HTTP形式对外提供响应的服务。例如:w3服务、XML-RPC、WebService、REST。

两种狭义的web服务:WebService、w3服务

                                                                                                      web服务器

广义的web服务器:提供广义web服务的软件或主机

狭义的web服务器(Web Server):提供w3服务的软件或主机Web服务器软件或装有Web服务器软件的计算机。例如:IIS、Apache、nginx、Lighttpd。Web服务器可以处理 HTTP 协议响应针对静态页面或图片的请求,进行页面跳转,或者把动态请求委托其它程序的扩展、某种语言的解释引擎Web容器)。

服务器,容器,中间件

一次web访问的顺序:web浏览器-》web服务器(狭义)-》web容器-》应用服务器-》数据库服务器

概念范围:容器 》Web容器,中间件 》应用服务器,容器是中间件的组成部分。

容器作为操作系统和应用程序之间的桥梁给处于其中的应用程序组件提供一个环境使应用程序直接跟容器中的环境变量交互,不必关注其它系统问题。例如:tomcat(拥有JSP容器,servlet容器),Jboss(拥有EJB容器)。

web容器处理http的容器,例如tomcat(拥有JSP容器,servlet容器),IIS(拥有ASP容器)。

中间件:为一种或多种应用程序提供容器,同时为应用程序提供相关服务。

应用服务器Application Server):用于被其他应用服务器或web服务器调用的中间件。例如Tomcat,WebLogicWebSphere,Jboss

多重身份:IIS,Tomcat,WebLogicWebSphere即是应用服务器,又拥有web服务器的功能。tomcat可以单独运行也可以被集成到Apache中,Apache处理静态文件比Tomcat快。


XML-RPC

RPC(Remote Procedure Call,远程过程调用协议):用于客户端程序调用服务端程序(里的方法)的通讯协议,程序员不用关心C/S之间的讯协细节。RPC在Socket的基础上实现,通过RPC可以将程序分布在不同的机子上,从而减轻单机负担。

XML-RPC:以HTTP协议通讯的RPC。

SOAP

WebService:一套用于跨平台(操作系统和编程语言)远程调用的技术标准。

WebService三要素

XML和XSD:WebService采用HTTP协议传输数据,采用XML数据格式,采用XSD(XML Schemas Definition,XML结构定义)定义XML结构。

SOAP(简单对象访问协议):WebService所采用的在HTTP协议之上的传输协议。SOAP增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式。这些HTTP消息头和XML内容格式的规定就是SOAP协议。SOAP可以实现RPC的过程。

WSDL(Web Services Description Language):服务端用于描述WebService的函数、参数和返回值的XML文件,用于告知客户端程序或开发人员。

WebService的工作原理:客户端利用wsdl文件创建出底层的代理类,调用这些代理,就可以访问到webservice服务。代理类把客户端的方法调用变成soap格式的请求数据再通过HTTP协议发出去,并把接收到的soap数据变成返回值返回。对服务端而言,各类WebService框架的本质就是一个大大的Servlet,当远程调用客户端给它通过http协议发送过来soap格式的请求数据时,它分析这个数据,就知道要调用哪个java类的哪个方法,于是去查找或创建这个对象,并调用其方法,再把方法返回的结果包装成soap格式的数据,通过http响应消息回给客户端。

REST

rest是名称,restful是形容词,符合rest风格的程序或设计就是restful

无状态::通讯过程中接收信息方没有记录之前通讯的状态(上下文),下一次通讯是全新的通讯。TCP是有状态的,收包方会记录总包数和包的次序,对下次收包的处理产生影响。http是无状态的。soap是有状态的。web应用采用无状态的http,并用session记录状态。

REST(Representational State Transfer,表现层状态转化):一种web服务架构风格

几个特点:

1、RPC关注于方法,而REST关注于资源

2、REST回归HTTP最初的设计,RPC仅仅只是把HTTP作为传输协议来使用。REST显式地使用HTTP方法,对资源的创建、读取、更新和删除(create, read, update, and delete,CRUD)操作与HTTP方法之间的一对一映射。

3、无状态完整、独立的请求包括所有需要满足的数据,以便中间服务器中的组件能够进行转发、路由和负载平衡,而且不需要在请求之间在本地保存任何状态。

4、统一接口:强调组件之间要有一个统一的接口消息头和请求方法体现出语义,URI的层次体现出资源的层次。

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金