共同點:
1、兩者都是apache組織開發(fā)的
?2、兩者都有HTTP服務(wù)的功能
?3、兩者都是免費的?
不同點:
1、apache支持靜態(tài)頁,tomcat支持動態(tài)的,比如servlet等。
2、apache是web服務(wù)器(靜態(tài)解析,如HTML),Tomcat是應(yīng)用(java)服務(wù)器(動態(tài)解析,如jsp,asp,php,cgi),它只是一個servlet(jsp也翻譯成servlet)容器,可以認(rèn)為是apache的擴展,但是可以獨立于apache運行。
3、Apache是有C語言實現(xiàn)的,支持各種特性和模塊從而來擴展核心功能;Tomcat是Java編寫的,更好的支持Servlet和JSP。
關(guān)聯(lián):
1)Apache是普通服務(wù)器,本身只支持html即普通網(wǎng)頁,可以通過插件支持php,還可以與Tomcat連通(Apache單向連接Tomcat,就是說通過Apache可以訪問Tomcat資源,反之不然)。
2)Apache只支持靜態(tài)網(wǎng)頁,但像Jsp動態(tài)網(wǎng)頁就需要Tomcat來處理。
3)Apache和Tomcat整合使用:
如果客戶端請求的是靜態(tài)頁面,則只需要Apache服務(wù)器響應(yīng)請求;
如果客戶端請求動態(tài)頁面,則是Tomcat服務(wù)器響應(yīng)請求,將解析的JSP等網(wǎng)頁代碼解析后回傳給Apache服務(wù)器,再經(jīng)Apache返回給瀏覽器端。
這是因為jsp是服務(wù)器端解釋代碼的,Tomcat只做動態(tài)代碼解析,Apache回傳解析好的靜態(tài)代碼,Apache+Tomcat這樣整合就可以減少Tomcat的服務(wù)開銷。
4)Apache和Tomcat是獨立的,在同一臺服務(wù)器上可以集成。
?
形象的例子:
Apache是一輛車,上面可以裝一些東西如html等,但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上,那這個桶就是TOMCAT。
?
Apache:是C語言實現(xiàn)的,專門用來提供HTTP服務(wù)。
特性:簡單、速度快、性能穩(wěn)定、可配置(代理)
1、主要用于解析靜態(tài)文本,并發(fā)性能高,側(cè)重于HTTP服務(wù);
2、支持靜態(tài)頁(HTML),不支持動態(tài)請求如:CGI、Servlet/JSP、PHP、ASP等;
3、具有很強的可擴展性,可以通過插件支持PHP,還可以單向Apache連接Tomcat實現(xiàn)連通;
4、Apache是世界使用排名第一的Web服務(wù)器。
?
Tomcat:是Java開發(fā)的一個符合JavaEE的Servlet規(guī)范的JSP服務(wù)器(Servlet容器),是 Apache 的擴展。
特性:免費的Java應(yīng)用服務(wù)器
1、主要用于解析JSP/Servlet,側(cè)重于Servlet引擎;
2、支持靜態(tài)頁,但效率沒有Apache高;支持Servlet、JSP請求;
3、Tomcat本身也內(nèi)置了一個HTTP服務(wù)器用于支持靜態(tài)內(nèi)容,可以通過Tomcat的配置管理工具實現(xiàn)與Apache整合。
更多Apache相關(guān)知識,請訪問Apache使用教程欄目!