常用Web服务器了解

Posted 小蜗牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用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 (服务器分类)

以上是关于常用Web服务器了解的主要内容,如果未能解决你的问题,请参考以下文章

第8章WEB08-XML&Tomcat篇

tomcat的一些常用的优化技巧

常用http状态码

web服务器都有哪些 常用的web服务器都有哪些

JavaWeb--基本概念Web服务器与Tomcat

11.WEB通讯