使用中的区别
1、对技术的支持:
Tomcat不支持EJB,JBoss是实现了EJB容器,再集成了Tomcat。
WebSphere都是对业内多种标准的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。
2、应用范围的区别:
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
WebSphere是商业软件,功能齐全强大,主要应用于大型企业的大型项目。
3、商业服务和技术支持的区别:
Tomcat都是开源免费的,所有它俩也就没有任何商业服务和技术支持,而WebSphere的技术文档和相关服务还是很到位,如果你的服务器哪一天出问题了,只要你能出的起钱,他们的技术工程师立刻就能出现在你面前。
4、安全性问题:
Tomcat都是开源的,所以它们的安全性相对来说比较低,万一应用服务器本身有什么漏洞,你是没办法向Apache索赔的。
WebSphere其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得以验证。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.18(截止到2008-08-27)。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。根据 Netcraft 最近的调查,虽然存在很多不同的 Web 服务器,但是其中两种 Web 服务器就占据了 90% 的份额,这两种 Web 服务器是 Apache和 Internet Information Server(IIS)。但是,是不是就没有其他的呢?如果你要了解一个web服务器是怎么运行的。至少它是怎么可以同时服务成千上万的用户的,这个问题,可能是很多网络服务器编程都要面对的问题。那么他们的源代码呢? 很显然IIS是不可能有源代码的,不然微软早就game over了。但是你会说Apache是开源的,是的,它是开源的,但是我觉得等你搞明白了apache的时候,也许是半年之后的事情了,并且你可能会觉得,哦,天啊,原来它是这么糟糕。 所以,如果你希望了解web服务器的工作原理,就需要那些剩下的10%-轻量级web服务器了,当然了,他们一般都是开源的,并且大部分是使用c和perl写的,还有的是java、php等,也有一些“不著名”的语言。 它们比 Apache 小得多。如此小的应用程序可以直接记住,系统地、严密地加以考虑,以证明它们的安全性或可伸缩性。小型 Web 服务器包括: Cheetah Server,用不到一千行的 C 代码编写而成。 DustMote,一个非常 小的 Web 服务器,用一个大约 3000 字节的 Tcl 源文件实现。 fnord,大小取决于平台和配置,不超过 20K。虽然很小,但是它支持虚拟主机、CGI和 keep-alive。 ihttpd,使用不到 800 行的 C 代码,包括 CGI,并通过 inetd提供页面。 im-httpd,非常小的服务器 —— 只有大约 7 KB,链接到 glibc。而且它也非常快。 mattows,支持 CGI,只有 600 行 C 代码。 Scrinchy,虽然很小,不到 30KB,但是支持多种脚本编制语言,包括一种特殊用途的、基于栈的 Sy 脚本语言。 ZWS 演示了一个即使是使用 500 多行带足够注释的 zsh (!) 编写的应用程序 —— 在这里是一个 HTTP 0.9+ 服务器 —— 也可以有多强大。 体积小并不妨碍这些服务器被正式使用。例如,fnord 可以处理数千个同时进行的连接。 也许轻量级作为一个类别最令人印象深刻的成就是高性能服务器: cghttpd 是一个小型 Web 服务器,它被理解为使用 2.6 系列内核中可用的异步功能的一个试验品。 darkhttpd 是一个快速的、单线程的 HTTP/1.1 服务器。 Gatling 是为高性能设计的。它的特性包括 FTP、IPv6、虚拟主机、CGI 等。 Kernux 是一个 Linux内核模块,它实现了一个 HTTP 守护进程。 lighttpd 是使用率排名第五的 Web 服务器(排名还在上升)。它为很多同时进行的连接进行了优化:“典型的场景是使用 lighttpd 作为一个下载(off-load)服务器,以提供静态内容……” LiteSpeed Web Server 是一款轻量级商业 Web 服务器,强调性能和安全性。LiteSpeed Technologies 公司宣传为静态内容提速了 6 倍,在解释页面方面也有一定的提高。Miniature JWS,也称 tjws,它是基于 Java 的 Web 服务器,可以处理servlet、JSP和数千个并发连接,而大小只有 77 KB。它的作者声称它 “比 Apache 2.x 快 10%”。 Yaws 是用 Erlang 编写的一款高性能 HTTP/1.1 服务器。 有些 Web 服务器被实现为类或库,以便嵌入到较大的应用程序中。 在这些 Web 服务器当中,我发现特别有趣的有: EHS —— “嵌入式HTTP 服务器”,被设计为一个 C++类,用于嵌入到较大的 C++ 应用程序;还有 Embedded TCL Web Server,它是一个很普通的 Web 服务器,支持 SSL和 Basic Authentication,速度非常快 —— 其作者使它至少与 lighthttpd 和 AOLserver 一样快。它是用不到 100 行 Tcl 编写的。 Python 是几种适合不寻常环境的 Web 服务器的实现语言,这些 Web 服务器包括: cdServer 是一个小型的、用 Python 编写的 HTTP 服务器,它“被设计用来提供来自 CD-ROM 的(静态)内容” 。它在提供动态内容方面能力有限。我们有几个涉及不受影响的“live CDs” 的项目,在这些项目中像 cdServer 之类的工具很关键。 edna,一款智能的用 Python 编写的 MP3 服务器,它是用 HTTP 实现的。
还有其他一些用 Perl 和其他不出名的语言编写的轻量级 Web 服务器: Camlserv,用 ocaml 编写的一个完整的 Web 服务器,目标是 “高度交互式的 Web 页面”。它由几千行 ocaml 编写而成,其中大部分代码都与 MySQL和 HTML 的特殊处理有关。 dhttpd 用和 Apache 相同的格式记录访问。它支持 CGI,并具有内建的 Perl 解释器、虚拟主机、IPv6、带宽管理和安全性等方面的特性。 DNHTTPD 是用 Perl 编写的,用于 UNIX。它支持虚拟主机、SSL 连接、CGI 等。 Jellybean 是用 Perl 编写的基于 HTTP 的 Perl Object Server。 lns.http 是一个 Common LISP HTTP/1.1 Web 框架。 Mongrel 是用 Ruby编写的、用于 HTTP 的一个库和服务器。 Nanoweb 是用 PHP编写的一款快速、健壮的 Web 服务器。它宣称具有丰富的特性,包括完全遵从 HTTP/1.1、访问控制、身份验证、虚拟主机、SSL 兼容性等。 Naridesh 是用 Perl 编写的 Web 服务器。 OpenAngel 是用 Perl 编写的。它强调的重点是安全性。 Xavante 是用 Lua 编写的 HTTP/1.1 Web 服务器。 XSP 是用 C# 编写的,用于运行 ASP.NET。
有时候您可能需要其他一些用 C 编写的、具有不常见的次要优势的轻量级 Web 服务器: ABYSS 可以在 UNIX 和 Win32 之间移植,其 “目的是成为完全遵从 HTTP/1.1 的 Web 服务器”。它占用的内存很少。 Anti-Web HTTPD(也称 “Anti-Web”、“awhttpd” 和 “AW”)是一款单进程、无线程、支持 CGI 的服务器,它强调安全性和简单性。 MHTTPD 支持从外部文件或 LDAP 服务器进行的 MHTTPD Basic Authentication。 mini-httpd 可以在一个系统线程中处理多个并发请求,但是在主机上占用的内存或 CPU很少。 Naken Web 类似于很多其他的轻量级服务器 —— 它支持 Basic Authentication、静态内容等 —— 但是它的作者将它设计为用于 Webcam 操作,并且在 Gumstix、WRT54GL、OpenWrt 和其他新的平台上运行。
Null httpd 是一款多线程的、简单的、可移植的 Web 服务器。 Seminole 是一款商业 Web 服务器,内存需求较小,功能较多。 thttpd throttle,支持 chroot、Basic Authentication 等。 Web 服务器远远不止是 Apache和 IIS 的天下。您可以发现很多其他的 Web 服务器,它们很小,易于理解,但是又足够快,可以被正式使用。这样的 Web 服务器可以很好地加快您的下一个项目。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)