Apache HTTP Server

Apache HTTP Server 这个项目的目标是提供一个安全,高效和可扩展的服务器,提供与当前HTTP标准同步的HTTP服务。


和Tomcat 之区别

  ► Apache Http Server是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。
► Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。
► Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)
► 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。
► Apache和Tomcat是独立的,在通一台服务器上可以集成。 
► Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。 

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

Apache Http Server与Tomcat实现负载均衡

为什么要让http server与Tomcat之间进行连接:事实上Tomcat本身已经提供了HTTP服务,该服务默认的端口是8080,装好tomcat后通过8080端口可以直接使用Tomcat所运行的应用程序,你也可以将该端口改为80。既然Tomcat本身已经可以提供这样的服务,我们为什么还要引入Apache或者其他的一些专门的HTTP服务器呢?原因有下面几个:

1. 提升对静态文件的处理性能。
2. 利用Web服务器来做负载均衡以及容错。
3. 无缝的升级应用程序。

这三点对一个web网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个Tomcat宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的HTTP服务器也就只有apache的http server了,它跟tomcat的结合是最紧密和可靠的。