1. 程式人生 > >Apache與Tomcat有什麼關係和區別

Apache與Tomcat有什麼關係和區別

經常在用apache和tomcat等這些伺服器,可是總感覺還是不清楚他們之間有什麼關係,在用tomcat的時候總出現apache,總感到迷惑,到底誰是主誰是次,因此特意在網上查詢了一些這方面的資料,總結了一下:   一 
apache支援靜態頁,tomcat支援動態的,比如servlet等,
 
一般使用apache+tomcat的話,apache只是作為一個轉發,對jsp的處理是由tomcat來處理的。
apache可以支援php\cgi\perl,但是要使用java的話,你需要tomcat在apache後臺支撐,將java請求由apache轉發給tomcat處理。
apache是web伺服器,Tomcat是應用(java)伺服器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴充套件,但是可以獨立於apache執行。  
這兩個有以下幾點可以比較的: 1、兩者都是apache組織開發的 2、兩者都有HTTP服務的功能 3、兩者都是免費的 
不同點:
Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等)
Tomcat是Apache組織在符合J2EE的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的服務開銷    
三:
apache:側重於http server 
tomcat:側重於servlet引擎,如果以standalone方式執行,功能上與apache等效 , 支援JSP,但對靜態網頁不太理想; 
apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴充套件,但是可以獨立於apache執行。  換句話說,apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上。