Web容器Web服务器及常见的Web容器有哪些?

时间:2020-07-30 03:23:18 来源:

【摘要】 Web容器Web服务器及常见的Web容器有哪些?考必过小编为大家整理了关于Web容器Web服务器及常见的Web容器有哪些?的信息,希望可以帮助到大家!

Web容器Web服务器及常见的Web容器有哪些?

标签:虚拟主机   组件   java   协议   ref   get   执行   ebs   nbsp   

  一、引言

首先来理解一下简单的一个请求发送到响应的过程。

 二、定义

服务器

硬件角度上说就是一台高性能的Computer。我们通常指的服务器其实应该是装有能够处理具体请求事务的服务器软件的Computer。比如最常见的www服务器、mail服务器、计费服务器、ftp服务器等等。很多时候人们常把诸如Tomcat、IIS、Weblogic 也称之为web服务器,其实这些只是用于开发、集成、部署和管理Web应用、网络应用和数据库应用的应用服务器软件。

  Web服务器

web服务器可以处理Http协议,当web服务器接受到一个Http请求,会返回一个Http响应,例如送回一个HtMl页面。

web服务器可以响应针对静态页面或者图片的请求,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序,例如 CGI 脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端 JavaScript,或者一些其它的服务器端技术。

web服务器仅仅提供一个可以执行服务器端程序和返回(程序产生)响应的环境,而不会超出职能范围

web服务器主要是处理需要向浏览器发送Html的请求以供浏览

Web服务器也可以叫做应用服务器。它的功能比web容器要强大的多,因为它可以部署EJB应用,可以实现容器管理的事务,一般的应用服务器有weblogic和websphere等,它们都是商业服务器,功能强大但都是收费的。

Web应用程序需要部署到Web容器或者Web服务器中才能运行,两者都必须符合J2EE规范。

Web容器

web容器就是一种服务程序,在服务器中一个端口就对应一个提供相应服务的程序(比如Apache默认的端口为80),给处于其中的应用程序组件提供环境,使其直接跟容器中的环境变量交互,不必关注其它系统问题。而这个程序就是处理服务器从客户端收到的请求,如Java中的Tomcat容器,ASP的IIS都是这样的容器。这些容器兼容了Web服务器软件的一些功能。一个服务器可以有多个容器。

如果web服务器应用得到一个指向servlet的请求(而不是其他请求,如请求一个普通的静态HTML),此时服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器,要由容器调用servlet的方法,如doPost()或doGet()。

笔者在网上搜到的这些概念,很多时候也都混淆不清。容器和服务器有时候的定义也比较模糊,容器兼有了服务器的职责和能力。

容器中,中小型的Tomcat,Nginx大型的,JBoss、Weblogic、WebSphere等

 

应用程序服务器 The Application Servlet

    根据定义,作为应用程序服务器,要求可以通过各种协议包括Http协议把商业逻辑暴露给expose客户端应用程序,应用程序使用此商业逻辑就像你调用对象的一个方法或过程一样。

Servlet(Server Applet),全称 Java Servlet,未有中文译文。是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。

      Servlet 运行于支持 Java 的应用服务器中。从实现上讲,Servlet 可以响应任何类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的 Web 服务器。

Apache 

Apache就是一个服务器(软件),提供了静态页面的访问能力。它配置上插件(模块)后可以以各种语言实现动态页面。(但是一定要注意Tomcat并不是Apache的插件)

Tomcat 
Apache Tomcat(即平时所说的Tomcat),也是一个服务器。在这个案例中,Tomcat充当了一个插件的作用,这个插件是针对于Java的,或者说是jsp/servlet的。它是一个容器。何为容器?容器么,就是容器。容的是什么,JSP、Servlet。容器管理jsp、servlet的声明周期,包括创建,运行,销毁。它是一个jsp、servlet的运行环境。通俗点说,请求发过来,Tomcat负责执行JSP、Servlet,并返回结果。关于生命周期这东西,在此不做阐述。也就是说,没有Tomcat,Apache是不认你JSP的。懂设计模式的可以想想了。。。当然,整个过程都有设计模式的影子

要注意:Tomcat本身也是可以单独作为服务器来运行的。Tomcat 有时也被称为Apache Tomcat,这个Apache指的并不是Apache服务器,而是一个“商标”,因为Tomcat是属于Apache这个项目的 

 

Apache与Tomcat比较联系

apache支持静态页,tomcat支持动态的,比如servlet等。

一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的。

 

 

apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache后台支撑,将java请求由apache转发给tomcat处理。

 

 

apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。

 

共同点

 

两者都是apache组织开发的

两者都有HTTP服务的功能

两者都是免费的

不同点: 

Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)

Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器

 

Nginx

推荐阅读:丽水属于哪个省

Web容器Web服务器及常见的Web容器有哪些?

标签:虚拟主机   组件   java   协议   ref   get   执行   ebs   nbsp   

以上就是Web容器Web服务器及常见的Web容器有哪些?的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!

上一篇      下一篇
前端相关推荐 更多>>
前端热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net