Apache 和 Tomcat 都是web網絡服務器,兩者既有聯繫又有區別,在進行HTML、PHP、JSP、Perl等開發過程中,需要準確掌握其各自特點,選擇最佳的服務器配置。
---------------------首先看下它們的聯繫:
1、兩者都是apache組織開發的開源免費的服務器2、兩者都有HTTP服務的功能
3、Apache和Tomcat整合使用:
如果客戶端請求的是靜態頁面,則只需要Apache服務器響應請求;
如果客戶端請求動態頁面,則是Tomcat服務器響應請求,將解析的JSP等網頁代碼解析後回傳給Apache服務器,再經Apache返回給瀏覽器端。
這是因爲jsp是服務器端解釋代碼的,Tomcat只做動態代碼解析,Apache回傳解析好的靜態代碼,Apache+Tomcat這樣整合就可以減少Tomcat的服務開銷。
4、Apache和Tomcat是相互獨立的但又能夠相互集成,通俗的說:各自能跑,綁在一起也能跑。
------------------再看看它們的區別:
1、Apache是有C語言實現的,支持各種特性和模塊從而來擴展核心功能;Tomcat是Java編寫的,更好的支持Servlet和JSP。
2、Apache是普通web服務器,僅僅靜態網頁解析,比如HTML網頁,不支持動態網頁解析。如果是一個單純的靜態網站,使用Apache就已經夠了。
Tomcat是java應用服務器,支持動態解析,比如HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手動調試,不過很容易的。Tomcat只是一個servlet(jsp也翻譯成servlet)容器,可以認爲是apache的擴展,但是可以獨立於apache運行,這個Tomcat支持很多插件的擴展。
3、可以將二者集成在一起,Apache可以單向連接Tomcat,就是說通過Apache可以訪問Tomcat資源,反之不然
4、Apache側重於http server,Tomcat側重於servlet引擎,如果以standalone方式運行,在功能上講,Tomcat與apache等效支持JSP,但Tomcat對靜態網頁不太理想。
5、Apache可以運行一年不重啓,穩定性非常好,而Tomcat則不見得。
6、Apache是很早開始的頁面解析服務,tomcat是後來研發出來的,從本質上來說tomcat的功能完全可以替代Apache,但Apache畢竟是tomcat的前輩級人物,並且市場上也有不少人還在用Apache,所以Apache還會繼續存在,不會被取代,apache不能解析java的東西,但解析html速度快。
-----------------注意:
如果客戶端請求的是靜態頁面,則只需要Apache服務器就能響應,如果客戶端請求的是jsp之類的動態頁面,則需要Tomcat服務器響應請求,因爲jsp服務器解析代碼的,這樣整合就可以減少Tomcat的開銷。