Web服務器 Apache 和 Tomcat區別[轉]

在沒了解之前,一直有這個困惑,查了一下,看了瞬間就明白了,分享一下。

Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。在Apache基金會裏面Apache Server永遠會被賦予最大的支持,畢竟大兒子最親嘛,而Apache的開源服務器軟件Tomcat同樣值得關注,畢竟Tomcat是開源免費的產品,用戶會給予最大的支持。但是經常在用Apache和Tomcat等這些服務器時,你總感覺還是不清楚他們之間有什麼關係,在用Tomcat的時候總出現Apache,總感到迷惑,到底誰是主誰是次,因此特意在網上查詢了一些這方面的資料,總結了一下。 

解析一:

Apache支持靜態頁,Tomcat支持動態的,比如Servlet等,

一般使用Apache+Tomcat的話,Apache只是作爲一個轉發,對JSP的處理是由Tomcat來處理的。

Apche可以支持PHPcgiperl,但是要使用Java的話,你需要Tomcat在Apache後臺支撐,將Java請求由Apache轉發給Tomcat處理。

Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認爲是Apache的擴展,但是可以獨立於Apache運行。

這兩個有以下幾點可以比較的:

◆兩者都是Apache組織開發的

◆兩者都有HTTP服務的功能

◆兩者都是免費的

不同點:

Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等)

Tomcat是Apache組織在符合Java EE的JSP、Servlet標準下開發的一個JSP服務器.

  1. Runtime r=Runtime.getRuntime();   
  2. Process p=null;   
  3. try   
  4. {   
  5. p=r.exec("notepad");   
  6. }   
  7. catch(Exception ex)   
  8. {   
  9. System.out.println("fffff");   
  10. }   
  11.  

解析二:

Apache是一個Web服務器環境程序,啓用他可以作爲Web服務器使用,不過只支持靜態網頁 如(ASP,PHP,CGI,JSP)等動態網頁的就不行。

如果要在Apache環境下運行JSP的話就需要一個解釋器來執行JSP網頁,而這個JSP解釋器就是Tomcat, 爲什麼還要JDK呢?因爲JSP需要連接數據庫的話 就要jdk來提供連接數據庫的驅程,所以要運行JSP的Web服務器平臺就需要Apache+Tomcat+JDK。

整合的好處是:

◆如果客戶端請求的是靜態頁面,則只需要Apache服務器響應請求。

◆如果客戶端請求動態頁面,則是Tomcat服務器響應請求。

◆因爲JSP是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷。

C是一個結構化語言,如譚老爺子所說:它的重點在於算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制),而對於C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。

解析三:

Apache:側重於HTTP Server

Tomcat:側重於Servlet引擎,如果以Standalone方式運行,功能上與Apache等效 , 支持JSP,但對靜態網頁不太理想;

Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認爲是Apache的擴展,但是可以獨立於Apache運行。

換句話說,Apache是一輛卡車,上面可以裝一些東西如Html等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。

如何還不太明白,推薦看這篇類似文章,寫的更具體 http://blog.csdn.net/huangtingyu/article/details/3429789。
發佈了107 篇原創文章 · 獲贊 8 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章