偶尔走失,从未离开

本文介绍一下Apache, Tomcat, Weblogic, JBoss几种服务器的区别

文章目录:

几种服务器的区别

在部署环境,还有复现各种漏洞的时候,总会有各种各样的服务器环境。

一直不太清楚它们之间的具体区别,以及其适合的应用场景,所以这里就学习总结一下。

0x01 四个服务器的区别

  • Apache(免费)

Apache 是一个应用十分广泛的免费Web服务器,由 Apache 开源组织用C语言开发。

Apache本身只支持静态网页,可以通过插件支持php,还可以与Tomcat配合使用,来支持jsp/Servlet。

当客户端请求静态页面时,只需要Apache服务器响应请求。若客户端请求动态页面,则是由Tomcat服务器响应请求,将执行的结果回传给Apache,再经Apache将HTML返回给浏览器。

  • Tomcat(免费)

Tomcat是一个用Java编写的免费应用服务器。

它实际上是一个JSP/Servlet容器,可以理解成 Apache 的扩展,但它是独立运行的。

当你运行Tomcat的时候,实际上和Apache是两个互相独立的进程。

Tomcat也可以处理静态页面(standalone),但是性能比较低,所以经常是将 Apache 和 Tomcat 搭配使用

它适合在中小型系统和并发访问用户不太多的场合下使用,是一个小型的轻量级应用服务器。

  • JBoss(免费)

JBoss 作为 Java EE 应用服务器,不仅是 Servlet 容器,而且是 EJB 容器,弥补了 Tomcat 只是一个 Servlet 容器的缺憾。它采用业界最优的开源 Java Web 引擎,将 Tomcat 内核作为其 Servlet 容器引擎,并且进行了优化。

单一的 Tomcat 性能欠佳,并且是一个受限的集成平台,仅能运行 Java 应用程序。JBoss 在 Tomcat 的基础上,对其进行本地化,将 Tomcat 以内嵌的形式集成到了 JBoss 中。

JBoss Web通过使用ARP 和 Tomcat 本地技术的混合模型,来解决 Tomcat 诸多不足。混合技术模型,从最新的操作系统技术里获得了最好的线程和事件处理机制,让JBoss具有可扩展性,性能甚至超过了Apache 或 IIS,并且处理静态页面也比较快。

此外,JBoss不仅支持 JSP 等 Java技术,还支持 PHP 和 .NET

JBoss分为两个版本:

1.独立版本,支持 EJB

2.Tomcat集成版本,支持 EJB, jsp, Servlet

  • Weblogic(收费)

它即是 jsp/Servlet 容器,又是 EJB 容器。EJB 是分布式应用程序的核心技术,是J2EE的重要技术之一。

Weblogic(Oracle), WebSphere(IBM), JBoss(Redhat)都是符合 j2EE 规范的 EJB 容器,都可以用来开发大型的分布式应用程序,但只有 JBoss 是免费的。

0x02 Web服务器与应用服务器

Web服务器负责转发客户端请求和向浏览器传送HTML页面,而应用程序服务器主要是负责业务逻辑的处理。

应用服务器: Weblogic, Tomcat, Jboss

Web服务器: IIS, Apache, Nginx

当Web服务器接收到HTTP请求时,如果是静态请求,它会返回一个HTML页面(包括文字,图片等)。如果是动态请求,它会将请求转发给相应的Web应用服务器或解析引擎。

不过现在这两者的界限越来越模糊了,大多数应用程序服务器也包含了Web服务器,比如Tomcat。

但为了提高性能,一般还是会把Web服务器独立配置,与应用服务器一前一后,这样的分离有利于提高性能,简单的静态HTTP请求就不会影响到应用服务器了。

0x03 参考

 标签: 服务器

作者  :  watcher


添加新评论