Apache Http Server和Tomcat 之區別

luxika發表於2012-03-06
轉自:http://blog.csdn.net/huangtingyu/archive/2008/12/02/3429789.aspx

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系列的一個元件。不同於一般的應用程式,它就像驅動程式一樣是作業系統的一部分,具有在系統啟動時被同時啟動的服務功能。

相關文章