zoukankan      html  css  js  c++  java
  • 常用Web服务器了解

    WEB Server

    例如:nginx,Apache,IIS等。
    Web服务器的主要职责是服务静态页面,例如,以HTTP协议传输的HTML页面。
    一个简单的应用场景:用户在浏览器(客户端)输入URL并且开始浏览网页。那么服务器所做的就是发送一个静态页面到客户端,传输的信息是通过指定了请求和响应格式的HTTP协议。如下图所示:

    Servlet Container

    Servlet容器唯一的职责就是通过执行服务器上的JSP和Servlet来产生HTML页面。那么Servlet容器本质上是Web服务器的一部分,只不过加上了和Sevlet交互的接口。

    Servlet是定义在javax.servlet包下面的接口。对于一个Servlet的生命周期,它声明了三种内在的方法——init(),servie()和destroy()。在服务器上每一个Servlet被唤醒的时候,他们都会执行。servlet容器是如何处理请求的呢,如下所示:

    Application Server

    应用服务的主要职责就是通过执行服务器代码产生动态页面,列如,JSP,Servlet或者EJB。应用服务器的主要任务是服务动态内容,管理EJB Pool,促进事务分配,促进应用查找JNDI,应用安全等等。应用服务器支持整个JavaEE体系。一个应用服务器通常包括一个Web服务器,但是额外加了很多特性。最重要的就是它管理对象(Servlets,EJB,JMS)。

    以下是几种常见的web服务器

    一、Tomcat

    目前最为流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,由Apache、Sun 和其他一些公司及个人共同开发而成,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
    但Tomcat不完全是一个应用服务器,它只是一个Servlet引擎或者是一个Web容器或者是我们众所周知的Servlet容器,因为它只提供了Servlet和JSP的运行环境,但是没有提供像是EJB和事务控制的部分,而这部分才是J2EE领域里面应用服务器的特点。
    优点:
    1、运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
    2、Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

    二、weblogic

    WebLogic是BEA公司的产品,它是用纯java开发的。可进一步细分为 WebLogic Server、WebLogic Enterprise 和 WebLogic Portal 等系列,其中WebLogic Server的功能特别强大。WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,它还拥有处理关键Web应用系统问题所需的性能 、可扩展性和高可用性,WebLogic Server完全实现了Sun Microsystems Java EE 5.0规范,此外它将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。由于WebLogic支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好,所以对于那些正在寻求能够提供Java平台所拥有的一切应用服务器的用户来说,WebLogic是一个十分理想的选择。现BEA已被Oracle收购。

    三、webSphere

    WebSphere是IBM公司重量级的商业应用J2EE平台服务器(Server),可进一步细分为WebSphere Performance Pack、Cache Manager和WebSphere Application Server等系列,其中WebSphere Application Server是基于Java的应用环境,可以运行于Sun Solaris、Windows NT 等多种操作系统平台,用于建立、部署和管理Internet和Intranet Web应用程序。它包含了编写、运行和监视全天候的工业强度的随需应变的Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施。如服务器、服务和工具。WebSphere提供了可靠、灵活和健壮的集成软件。
    与weblogic类似,都提供更安全,稳定的,可以进行大量操作的服务平台,自身带有的特色功能也比较多。与weblogic相比,由于是不同公司的产品,提供的平台功能差不多,但基于这两个平台开发的开发环境不同,自带的java包也不同,基于weblogic或websphere开发的web应用程序基本不能互用。

    四、JBoss

    JBoss是一个种遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,对于J2EE有很好的支持,支持EJB 1.1、EJB 2.0和EJB3.0的规范。JBoss采用JML API实现软件模块的集成与管理,其核心服务又是提供EJB服务器,不包含Servlet和JSP的Web容器,不过它可以和Tomcat完美结合。
    在J2EE应用服务器领域,Jboss是发展最为迅速的应用服务器。由于Jboss遵循商业友好的LGPL授权分发,你可以在任何商业应用中免费使用它,而不用支付费用,并且由开源社区开发,这使得Jboss广为流行。另外,Jboss应用服务器还具有许多优秀的特质。
    其一,它将具有革命性的JMX微内核服务作为其总线结构;
    其二,它本身就是面向服务的架构(Service-Oriented Architecture,SOA);
    其三,它还具有统一的类装载器,从而能够实现应用的热部署和热卸载能力。因此,它是高度模块化的和松耦合的。Jboss用户的积极反馈,Jboss应用服务器是健壮的、高质量的,而且还具有良好的性能。为满足企业级市场日益增长的需求,Jboss公司从2003年开始就推出了24*7、专业级产品支持服务。同时,为拓展Jboss的企业级市场,Jboss公司还签订了许多渠道合作伙伴。比如,Jboss公司同HP、Novell、Computer Associates、Unisys等都是合作伙伴。2006年,Jboss公司被Redhat公司收购。

    五、Apache

    Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
    Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
    Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
    到目前为止Apache仍然是世界上用的最多的Web服务器,世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

    六、IIS

    Microsoft的Web服务器产品为Internet Information Server (IIS), IIS是允许在公共Internet上发布信息的Web服务器。IIS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(IntranetServer API)作为扩展Web服务器功能的编程接口,同时它还提供一个Internet数据库连接器,可以实现对数据库的各种操作,例如增删改查。

    七、Glassfish

    glassfish是Sun公司推出的Java EE服务器,拥有一个比较活跃的开源社区,不断的通过社区的反馈来提高其可用性。 Glassfish是一个免费、开放源代码的应用服务器,它实现了Java EE 5,Java EE 5平台,包括了以下最新技术:EJB 3.0、JSF 1.2、Servlet 2.5、JSP 2.1、JAX-WS 2.0、JAXB 2.0、 Java Persistence 1.0、Common Annonations 1.0、StAX 1.0等。它对集群有着很好的支持,可以简单到通过添加机器就可轻松的提高网站的带负载能力。在解析能力方面,它对html的吞吐能力与apache服务器不分上下,是tomcat所不能比的,支持目录部署,热部署,解决了tomcat 对热部署能力的缺陷。在版本方面做的更加人性化,有开发时用的简化版,有专门用于部署web项目的版本,还有完全符合j2ee标准的版本。

    参考博文:
    (1) https://zhidao.baidu.com/question/1509690852249364180.html
    (2) https://blog.csdn.net/zollty/article/details/86136182
    (3) http://www.dataguru.cn/article-13179-1.html (主流Java应用服务器的工作原理及组件设计)
    (4) https://segmentfault.com/a/1190000015767937?utm_source=tag-newest
    (5) http://www.dataguru.cn/article-13179-1.html (tomcat服务器原理及工作过程)
    (6) http://www.elecfans.com/baike/computer/fuwuqi/20180102609748_a.html (服务器分类)

  • 相关阅读:
    .net framework 3.5 dotNetFx35setup 能不需要网络支持吗? 
    Android API Differences Report
    Android用户版本分布更新 2.1版领先
    Adobe升级Flash回击批评:流畅播放手机视频
    iPhone OS4.0,Android 2.1和WP7对比分析
    Android 2.2数据共享功能开启与否将由运营商自主决定
    谷歌 Android 3.0计划四季度推出:代号姜饼
    谷歌称Android设备日激活量已达10万台
    iPod Touch也将支持运行Android系统
    Android2.2 SDK正式提供下载
  • 原文地址:https://www.cnblogs.com/jasonboren/p/12458521.html
Copyright © 2011-2022 走看看