文档章节

Apache Http Server和Tomcat 之区别

Alex_曰生
 Alex_曰生
发布于 2014/11/19 21:40
字数 1274
阅读 16
收藏 0
Apache官方网站: http://www.apache.org/ 
Tomcat官方网站: http://tomcat.apache.org/ 

1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。 

2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。 

3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然) 

4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。 

5. Apache和Tomcat是独立的,在通一台服务器上可以集成。 

打个比方:Apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。 

Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。 

Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。

Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。 

Apache 源于 NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简 单、速度快、性能稳定,并可做代理服务器来使用。Apache对Linux的支持相当完美。 

Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消 耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左 右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、 Windows、Linux系统平台上)以及它的可移植性等方面。 

Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。 

Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。 

Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采 用Tomcat。 

**JSP=Java Server Pages (Java服务器网页) 
**ASP=Active Server Pages (活动服务器网页) 
**CGI=Common Gateway Interface (通用网关接口) 
**J2EE=Java 2 Platform, Enterprise Edition (Java2平台,企业版) 
**XML=eXtensible Markup Language (扩展标记语言) 
**IIS=Internet Information Server (互联网信息服务器) 

----------------- 
关于IIS: 
IIS是Windows系统提供的一种服务,它包括WWW服务器、FTP服务器和SMTP服务器。 
在UNIX 或Linux平台上,Apache就是网站服务器。而对于Windows NT/2000来说,IIS就是标准的网站服务器。IIS是一种服务,是Windows 2000 Server系列的一个组件。不同于一般的应用程序,它就像驱动程序一样是操作系统的一部分,具有在系统启动时被同时启动的服务功能。

本文转载自:http://blog.csdn.net/huangtingyu/article/details/3429789

共有 人打赏支持
Alex_曰生
粉丝 3
博文 25
码字总数 3592
作品 0
深圳
程序员
私信 提问
eclipse 或myeclipse中的mvn tomcat7:run 是怎么执行的, 运行的原理是怎么样的,求大神指教

在eclipse中和myeclipse中搭建了一个maven的web项目, 运行tomcat7:run时会卡在 十二月 22, 2016 3:17:58 下午 org.apache.coyote.AbstractProtocol init 信息: Initializing ProtocolHandle......

白云枫
2016/12/22
166
3
nginx、apache和tomcat之间的关系和区别

最近在接触到这几种应用后,感觉有点混乱,为了理清它们之间的关系和区别,特地查找了一些资料,基本上有了一些了解。现进行归纳整理如下: Apache/Nginx 应该叫做 HTTP Server,即安装后生成...

chidongting
2016/04/01
0
0
Apache与Tomcat的区别

Apache官方网站:http://www.apache.org/ Tomcat官方网站:http://tomcat.apache.org/ 1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。 2. Apa...

amath321
2011/07/04
0
3
Tomcat vs Apache

Tomcat vs Apache:您钟情于哪一款 本文探讨了 Apache 与 Apache Tomcat 之间的区别,帮助开发者选择更加适宜的Web服务器。 当你选择使用哪种Web服务器时,或许会因它们的差异性和技术细节等...

长平狐
2013/01/06
147
0
分别在Linux和Windows下设置JVM内存

Linux服务器: 在/usr/local/apache-tomcat-5.5.23/bin 目录下的catalina.sh 添加:JAVAOPTS='-Xms512m -Xmx1024m' 或者 JAVAOPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m" 或者 CATA......

zqz0125
2015/08/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
4
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
5
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部