Apache和Tomcat有哪些異同?【Linux每日一個知識點第72期】
作為運維工程師,日常的工作就是和服務(wù)器打交道。在服務(wù)器端,Apache和Tomcat都是常用軟件,并且兩者功能有一定重疊。相信大家對這兩者都非常熟悉,不過他們之間到底有什么聯(lián)系和區(qū)別,你知道嗎?
【Linux每日一個知識點72期】Apache和Tomcat有哪些異同?
聯(lián)系
1)Apache是普通服務(wù)器,本身只支持html即普通網(wǎng)頁,可以通過插件支持php,還可以與Tomcat連通(Apache單向連接Tomcat,就是說通過Apache可以訪問Tomcat資源,反之不然)。
2)Apache只支持靜態(tài)網(wǎng)頁,但像asp、jsp、php、cgi等動態(tài)網(wǎng)頁就需要Tomcat來處理。
3)Apache和Tomcat整合使用:
如果客戶端請求的是靜態(tài)頁面,則只需要Apache服務(wù)器響應請求;
如果客戶端請求動態(tài)頁面,則是Tomcat服務(wù)器響應請求,將解析的JSP等網(wǎng)頁代碼解析后回傳給Apache服務(wù)器,再經(jīng)Apache返回給瀏覽器端。
這是因為jsp是服務(wù)器端解釋代碼的,Tomcat只做動態(tài)代碼解析,Apache回傳解析好的靜態(tài)代碼,Apache+Tomcat這樣整合就可以減少Tomcat的服務(wù)開銷。
4)Apache和Tomcat是獨立的,在同一臺服務(wù)器上可以集成。
區(qū)別
Apache是有C語言實現(xiàn)的,支持各種特性和模塊從而來擴展核心功能;Tomcat是Java編寫的,更好的支持Servlet和JSP。
1、Apache是Web服務(wù)器,Web服務(wù)器傳送(serves)頁面使瀏覽器可以瀏覽,Web服務(wù)器專門處理HTTP請求(request),但是應用程序服務(wù)器是通過很多協(xié)議來為應用程序提供 (serves)商業(yè)邏輯(business logic)。
Tomcat是運行在Apache上的應用服務(wù)器,應用程序服務(wù)器提供的是客戶端應用程序可以調(diào)用(call)的方法 (methods)。它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是Apache的擴展,但是可以獨立于apache運行。
2、Apache是普通服務(wù)器,本身只支持html靜態(tài)普通網(wǎng)頁。不過可以通過插件支持PHP,還可以與Tomcat連通(單向Apache連接Tomcat,就是說通過Apache可以訪問Tomcat資源,反之不然),Tomcat是jsp/servlet容器,同時也支持HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手動調(diào)試,不過很容易的。
3、Apache側(cè)重于http server,Tomcat側(cè)重于servlet引擎,如果以standalone方式運行,功能上Tomcat與apache等效支持JSP,但對靜態(tài)網(wǎng)頁不太理想。
4、Apache可以運行一年不重啟,穩(wěn)定性非常好,而Tomcat則不見得。
5、首選web服務(wù)器是Apache,但Apache解析不了的jsp、servlet才用tomcat。
6、Apache是很最開始的頁面解析服務(wù),tomcat是后研發(fā)出來的,從本質(zhì)上來說tomcat的功能完全可以替代Apache,但Apache畢竟是tomcat的前輩級人物,并且市場上也有不少人還在用Apache,所以Apache還會繼續(xù)存在,不會被取代,apache不能解析java的東西,但解析html速度快。
兩者例子:
Apache是一輛車,上面可以裝一些東西如html等,但是不能裝水,要裝水必須要有容器(桶),而這個桶也可以不放在卡車上,那這個桶就是TOMCAT。
兩者整合:
Apache是一個web服務(wù)器環(huán)境程序,啟用他可以作為web服務(wù)器使用不過只支持靜態(tài)網(wǎng)頁,不支持動態(tài)網(wǎng)頁,如asp、jsp、php、cgi
如果要在Apache環(huán)境下運行jsp就需要一個解釋器來執(zhí)行jsp網(wǎng)頁,而這個jsp解釋器就是Tomcat
那為什么還要JDK呢?因為jsp需要連接數(shù)據(jù)庫的話就要jdk來提供連接數(shù)據(jù)庫的驅(qū)程,所以要運行jsp的web服務(wù)器平臺就需要APACHE+TOMCAT+JDK
整合的好處:
如果客戶端請求的是靜態(tài)頁面,則只需要Apache服務(wù)器響應請求
如果客戶端請求動態(tài)頁面,則是Tomcat服務(wù)器響應請求
因為jsp是服務(wù)器端解釋代碼的,這樣整合就可以減少Tomcat的服務(wù)開銷
《Linux學習每日一個知識點》欄目是馬哥教育Linux云計算年薪20萬+的學員社群特別發(fā)起,分享Linux工具、Linux語法、Linux項目等知識點,幫助大家快速的了解Linux學習,快速步入Linux高薪的快車道。
http://haohuigou.com/74163.html