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