經(jīng)常在用apache和tomcat等這些服務(wù)器,可是總感覺還是不清楚他們之間有什么關(guān)系,在用tomcat的時(shí)候總出現(xiàn)apache,總感到迷惑,到底誰(shuí)是主誰(shuí)是次,因此特意在網(wǎng)上查詢了一些這方面的資料,總結(jié)了一下:

 

apache支持靜態(tài)頁(yè),tomcat支持動(dòng)態(tài)的,比如servlet等,


一般使用apache+tomcat的話,apache只是作為一個(gè)轉(zhuǎn)發(fā),對(duì)jsp的處理是由tomcat來處理的。

apache可以支持php\cgi\perl,但是要使用java的話,你需要tomcat在apache后臺(tái)支撐,將java請(qǐng)求由apache轉(zhuǎn)發(fā)給tomcat處理。

apache是web服務(wù)器,Tomcat是應(yīng)用(java)服務(wù)器,它只是一個(gè)servlet(jsp也翻譯成servlet)容器,可以認(rèn)為是apache的擴(kuò)展,但是可以獨(dú)立于apache運(yùn)行。

 

這兩個(gè)有以下幾點(diǎn)可以比較的:
1、兩者都是apache組織開發(fā)的
2、兩者都有HTTP服務(wù)的功能
3、兩者都是免費(fèi)的

不同點(diǎn):
Apache是專門用了提供HTTP服務(wù)的,以及相關(guān)配置的(例如虛擬主機(jī)、URL轉(zhuǎn)發(fā)等等)
Tomcat是Apache組織在符合J2EE的JSP、Servlet標(biāo)準(zhǔn)下開發(fā)的一個(gè)JSP服務(wù)器

 

 

二:

APACHE是一個(gè)web服務(wù)器環(huán)境程序 啟用他可以作為web服務(wù)器使用 不過只支持靜態(tài)網(wǎng)頁(yè) 如(asp,php,cgi,jsp)等動(dòng)態(tài)網(wǎng)頁(yè)的就不行
如果要在APACHE環(huán)境下運(yùn)行jsp 的話就需要一個(gè)解釋器來執(zhí)行jsp網(wǎng)頁(yè) 而這個(gè)jsp解釋器就是TOMCAT, 為什么還要JDK呢?因?yàn)閖sp需要連接數(shù)據(jù)庫(kù)的話 就要jdk來提供連接數(shù)據(jù)庫(kù)的驅(qū)程,所以要運(yùn)行jsp的web服務(wù)器平臺(tái)就需要APACHE+TOMCAT+JDK

整合的好處是:
如果客戶端請(qǐng)求的是靜態(tài)頁(yè)面,則只需要Apache服務(wù)器響應(yīng)請(qǐng)求
如果客戶端請(qǐng)求動(dòng)態(tài)頁(yè)面,則是Tomcat服務(wù)器響應(yīng)請(qǐng)求
因?yàn)閖sp是服務(wù)器端解釋代碼的,這樣整合就可以減少Tomcat的服務(wù)開銷

 

 

三:

apache:側(cè)重于http server
tomcat:側(cè)重于servlet引擎,如果以standalone方式運(yùn)行,功能上與apache等效 , 支持JSP,但對(duì)靜態(tài)網(wǎng)頁(yè)不太理想;
apache是web服務(wù)器,tomcat是應(yīng)用(java)服務(wù)器,它只是一個(gè)servlet(jsp也翻譯成servlet)容器,可以認(rèn)為是apache的擴(kuò)展,但是可以獨(dú)立于apache運(yùn)行。
換句話說,apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),而這個(gè)桶也可以不放在卡車上。