Web服務器父與子 Apache和Tom
cat區別
經常在用Apache和Tomcat等這些服務器時,你總感覺還是不清楚他們之間有什麼關系。在用Tomcat的時候總出現Apache,總感到迷惑,到底誰是主誰是次呢?本文將會給大家一個詳細的解答。
熟悉三國的朋友都知道曹操,曹操有二十五個兒子,其中最得曹操寵愛的是曹丕、曹植、曹彰三個,曹丕性格陰冷,擅長政治;曹植才華橫溢,放浪不羁;曹彰武藝 高強,戰功卓著。曹操一直希望這三個兒子當中選取自己的繼承人,最後與曹操性格最為相近的曹丕脫穎而出。但是我們永遠都不會否認曹植的才華和曹彰的武功。
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服務器.
解析二:
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等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。
小結
總體來說,Tomcat也許永遠不會成為Apache最重要的產品,但是誰也阻止不了Tomcat成為主流產品,Apache對於這個小兒子同樣也會給相當大的關心。