企业开发中Web服务器与应用服务器的区别联系

admin3年前云服务器39

在企业实际开发中,可以处理用户请求的服务器分为几种基本种类,不同的服务器处理解决不同的问题。这种灵活性为开发人员在应用程序创建和部署方面提供了很大的选择权,但也导致了对各种类型服务器使用场景产生了困惑。

Web服务器

从基本层面上看,用户通常通过Web浏览器向系统提交请求。(为了清楚起见,我们暂时忽略所有其他类型的客户端(RMI,CORBA,C/DC,定制等)Web请求必须由Web服务器接收(也称为HTTP服务器)。该Web服务器必须处理标准的HTTP请求和响应,然后将HTML返回给请求用户。在服务器环境中执行的代码可能是CGI驱动的,Servlet,ASP或其他服务器端编程语言,但最终的结果是Web服务器将HTML传递给用户。

Web服务器可能需要执行一个应用程序来响应用户请求,它可能会生成新闻项目列表,或者处理用户填写的表单内容提交到留言评论区。如果服务器应用程序被编写为JavaServlet,则需要一个地方来执行,而这个地方通常被称为Servlet引擎。根据Web服务器的不同,此引擎可能是内部的,外部的或者其他完全不同的组件。与传统的CGI环境不同,CGI脚本是在每次向服务器发送请求时启动的。这个持久性提供了一个servlet连接,以及一个维护每个HTTP请求之间状态的简单方法。JSP页面通常与servlet引擎绑定在一起,并且会在与servlet相同的空间/应用程序内执行。

有许多产品以不同的方式处理Web服务和Servlet引擎。Netscape/iPlanetEnterpriseServer将Servlet引擎直接构建到Web服务器中并在相同的进程空间内运行。Apache要求servlet引擎在外部进程中运行,并通过TCP/IP套接字与引擎通信。其他服务器(如MSIIS)并未正式支持servlet,并且需要附加产品才能添加该功能。

应用服务器

当你需要使用EnterpriseJavaBeans(以及其他J2EE组件,如JMS和CORBA)时,应用服务器就该上场了。一个应用服务器是提供企业计算相关的附加功能的全面的应用级服务器,例如,负载均衡,数据库访问类,事务处理和消息传递服务等等。

EJB应用服务器提供了一个EJB容器,它是bean将执行的环境,并且该容器将根据需要管理事务,线程池和其他问题。这些应用服务器通常是独立产品,开发人员通过远程对象访问API将他们的servlet/JSP页面绑定到EJB组件中。根据应用程序服务器的不同,程序员可以使用CORBA或RMI与其bean进行通信,但基准标准是使用JNDI根据需要来定位以及创建对EJB引用。

目前,最容易混淆是,许多应用程序服务器提供商在其产品中包含部分或全部这些组件。如果你使用过或者了解过WebLogic,你会发现WebLogic包含Web服务器,servlet引擎,JSP处理器,JMS工具以及EJB容器。理论上,像这样的产品足以应对处理网站开发的各个方面。

在大部分的实践中,你很可能会使用此类产品来管理/提供EJB实例,而专用Web服务器则处理特定的HTTP请求。

总结

现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

免费开源的几款Web服务器软件简介

由于最近在部署云服务器主机,在对Web服务器软件的选型方面进行了摸索,把笔记记下来,便于以后查阅。一、NGINX俄罗斯人Igor Sysoev从2002年开始开发NGINX,并在2004年发布了第一个...

怎样在Win7系统中搭建Web服务器

局域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步。利用Web服务器,我们随时随地都可以将自己的信息上传到服务器端,让其它关注你的用户能在第一时间内了解的...

浅谈Web服务器的构架:LAMP LNMP以及LLMP

随着许多VPS销售商有如Directspace 、 BuyVM、YardVPS放出廉价的VPSS,特别是PIPNI推出的免费VPS,许多站长的眼光开始注意到了VPS身上。虽然这些VPS的性能见仁见智,...

Web服务器常用的主机有哪些

Web服务器常用的主机有:1、Apache,能运行在所有的计算机平台上,开源免费,属于重量级产品;2、IIS,是WEB服务组件,是允许在公共Intranet或Internet上发布信息的WEB服务器,...

如何提高Web服务器安全性

  Web服务器安全问题仍然是IT部门最关心的问题之一,因为最近频发的网络攻击已被证明。由于存在托管敏感数据,Web服务器是一个组织中最容易被黑客针对攻击的地方。因此,的运维工程师针对如何提高Web服...

Web服务器Tomcat的这些架构模块,您都知道吧?

俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节,Tomcat的结构很复杂,但是 Tomcat 非常的模块化,找到了 Tomcat最核...