Web服务器、J2EE应用服务器、容器的区别

概念和定义的理解

最近在看书的过程中,发现了许多有关Web服务器,Web服务器应用,J2EE应用服务器以及容器的相关知识点,为了不引起混淆,将通过该篇博客从概念定义功能原理上对这几个名词做一详细的阐述。

Web服务器是什么

Web服务器又叫HttpWeb服务器,他是处理Web服务器应用所必须的一种环境,最为典型的代表就是Apache,但是作为类似功能我们经常说的tomcat(Web容器)其实也可以看作是Web服务器(功能的健壮性不如Apache被称为微型Web服务器),它主要有一下特点:

  • 只能处理供浏览器解析的html文件
  • 基于HTTP协议实现服务器和客户端的交互
  • 是web应用功能呈现的必不可少的环境

为什么需要容器

容器顾名思义有包含的意思,这里我们主要要说明的是两类容器一种是web容器一种则是EJB容器二者共同构成了J2EE应用服务器,容器内部封装了和web服务器交互的业务逻辑,通过运用容器我们不必再去关心如何取得和web服务器的联系,而将我们的工作重点发在了具体应用的业务逻辑方面更利于我们高效编程,同时也使得应用后期更易于维护,下面是两类容器主要完成的工作:

  • Web容器完成Servlet的初始化、生命周期的控制以及jsp的解析
  • EJB容器主要是实现和EJB回调相关的一系列工作

J2EE应用服务器的组成

J2EE应用服务器作为一个独立的概念和web服务器是完全不同的,J2EE应用服务器更应该理解为一个抽象的概念名词,他具体在后台服务器(主机)的存在形式就是一个Web容器和一个EJB容器,两个容器缺一不可,二者功能概念的抽象封装就是J2EE应用服务器的概念。

各自完成的功能

Web服务器完成的任务

web服务器主要完成的任务是:

  • 基于HTTP协议实现客户端和后台服务器的交互(发送请求—->返回响应)
  • 处理html超文本文件将该文本文件返回给浏览器
  • 识别URL

容器完成的任务

容器主要完成的任务是对所处理对象相关操作的封装,他最大的优势是减轻了程序员的编码工作量,另外通过运用容器也利于项目的维护,其中两类容器主要完成的任务是:

  • EJB容器主要完成的是核心关键的业务类的创建和回调
  • Web容器主要是封装了和Web服务器的交互逻辑,处理和解析Servlet以及jsp的相关操作

区别和联系

Web服务器和服务器主机的区别

服务器主机指的就是物理该概念的一台机器,这台机器上边可以装好多的软件,而我们的Web服务器(Apache)指的是安装了Apache软件的服务器主机,这台机器由于安装了相关的软件使得他拥有了web服务器的相关的功能,这是二者的主要区别。

Web服务器应用和J2EE应用服务器的区别

Web服务器应用指的就是Apache这个软件,就是我们平常所说的环境软件,而J2EE应用服务器属于应用服务器的一种是一种和后台业务逻辑相关的包括Web容器和EJB容器的概念抽象在应用服务器中有业务逻辑,数据库的调用等等。

CGI和Web服务器各自的功能

Web服务器主要处理的还是和静态界面相关的URL,但是如果是和动态脚本相关的请求(比如说URL和servlet是对应的)那么就涉及到CGI脚本,即通过调用相关的程序实现对展示界面的数据动态填充,然后通过jsp相关的模板返回html界面。

总结:

在理解以上三个概念的过程中重点要明确的是个各自的功能,Web服务器主要是识别URL、基于HTTP处理请求响应以及将后台返回的结果处理成为浏览器可以解析的html静态界面。应用服务器由容器构成可以处理Server层的业务逻辑,能够和数据库连接可以单独部署到一个远端服务器主机上。这里要说的就是常见web服务器有Apache,Nginx等,我们可以通过反向代理实现Web服务器对应用服务器的代理(Nginx反向代理)一方面可以利用高速缓存实现负载均衡减少对原始内容服务器的访问吞吐量提高性能,另外由于反向代理服务器和原始内容服务器之间有防火墙,我们可以通过配置防火墙的相关设置,使得系统的安全性更强等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值