Apache和Tomcat服務(wù)器間的區(qū)別、聯(lián)系、整合詳細(xì)介紹
Apache 和 Tomcat 都是web網(wǎng)絡(luò)服務(wù)器,兩者既有聯(lián)系又有區(qū)別,在進(jìn)行HTML、PHP、JSP、Perl等開(kāi)發(fā)過(guò)程中,需要準(zhǔn)確掌握其各自特點(diǎn),選擇最佳的服務(wù)器配置。
Apache是web服務(wù)器(靜態(tài)解析,如HTML),tomcat是java應(yīng)用服務(wù)器(動(dòng)態(tài)解析,如JSP、PHP)
Tomcat只是一個(gè)servlet(jsp也翻譯成servlet)容器,可以認(rèn)為是apache的擴(kuò)展,但是可以獨(dú)立于apache運(yùn)行
兩者從以下幾點(diǎn)可以比較的:
1、兩者都是apache組織開(kāi)發(fā)的
2、兩者都有HTTP服務(wù)的功能
3、兩者都是開(kāi)源免費(fèi)的
聯(lián)系
1)Apache是普通服務(wù)器,本身只支持html即普通網(wǎng)頁(yè),可以通過(guò)插件支持php,還可以與Tomcat連通(Apache單向連接Tomcat,就是說(shuō)通過(guò)Apache可以訪問(wèn)Tomcat資源,反之不然)?! ?/p>
2)Apache只支持靜態(tài)網(wǎng)頁(yè),但像asp、jsp、php、cgi等動(dòng)態(tài)網(wǎng)頁(yè)就需要Tomcat來(lái)處理。
3)Apache和Tomcat整合使用:
如果客戶端請(qǐng)求的是靜態(tài)頁(yè)面,則只需要Apache服務(wù)器響應(yīng)請(qǐng)求;
如果客戶端請(qǐng)求動(dòng)態(tài)頁(yè)面,則是Tomcat服務(wù)器響應(yīng)請(qǐng)求,將解析的JSP等網(wǎng)頁(yè)代碼解析后回傳給Apache服務(wù)器,再經(jīng)Apache返回給瀏覽器端。
這是因?yàn)閖sp是服務(wù)器端解釋代碼的,Tomcat只做動(dòng)態(tài)代碼解析,Apache回傳解析好的靜態(tài)代碼,Apache+Tomcat這樣整合就可以減少Tomcat的服務(wù)開(kāi)銷。
4)Apache和Tomcat是獨(dú)立的,在同一臺(tái)服務(wù)器上可以集成。
區(qū)別
Apache是有C語(yǔ)言實(shí)現(xiàn)的,支持各種特性和模塊從而來(lái)擴(kuò)展核心功能;Tomcat是Java編寫(xiě)的,更好的支持Servlet和JSP。
1、Apache是Web服務(wù)器,Web服務(wù)器傳送(serves)頁(yè)面使瀏覽器可以瀏覽,Web服務(wù)器專門(mén)處理HTTP請(qǐng)求(request),但是應(yīng)用程序服務(wù)器是通過(guò)很多協(xié)議來(lái)為應(yīng)用程序提供 (serves)商業(yè)邏輯(business logic)。
Tomcat是運(yùn)行在Apache上的應(yīng)用服務(wù)器,應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)的方法 (methods)。它只是一個(gè)servlet(jsp也翻譯成servlet)容器,可以認(rèn)為是Apache的擴(kuò)展,但是可以獨(dú)立于apache運(yùn)行。
2、Apache是普通服務(wù)器,本身只支持html靜態(tài)普通網(wǎng)頁(yè)。不過(guò)可以通過(guò)插件支持PHP,還可以與Tomcat連通(單向Apache連接Tomcat,就是說(shuō)通過(guò)Apache可以訪問(wèn)Tomcat資源,反之不然),Tomcat是jsp/servlet容器,同時(shí)也支持HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手動(dòng)調(diào)試,不過(guò)很容易的。
3、Apache側(cè)重于http server,Tomcat側(cè)重于servlet引擎,如果以standalone方式運(yùn)行,功能上Tomcat與apache等效支持JSP,但對(duì)靜態(tài)網(wǎng)頁(yè)不太理想。
4、Apache可以運(yùn)行一年不重啟,穩(wěn)定性非常好,而Tomcat則不見(jiàn)得。
5、首選web服務(wù)器是Apache,但Apache解析不了的jsp、servlet才用tomcat。
6、Apache是很最開(kāi)始的頁(yè)面解析服務(wù),tomcat是后研發(fā)出來(lái)的,從本質(zhì)上來(lái)說(shuō)tomcat的功能完全可以替代Apache,但Apache畢竟是tomcat的前輩級(jí)人物,并且市場(chǎng)上也有不少人還在用Apache,所以Apache還會(huì)繼續(xù)存在,不會(huì)被取代,apache不能解析java的東西,但解析html速度快。
兩者例子:
Apache是一輛車,上面可以裝一些東西如html等,但是不能裝水,要裝水必須要有容器(桶),而這個(gè)桶也可以不放在卡車上,那這個(gè)桶就是TOMCAT。
兩者整合:
Apache是一個(gè)web服務(wù)器環(huán)境程序,啟用他可以作為web服務(wù)器使用不過(guò)只支持靜態(tài)網(wǎng)頁(yè),不支持動(dòng)態(tài)網(wǎng)頁(yè),如asp、jsp、php、cgi
如果要在Apache環(huán)境下運(yùn)行jsp就需要一個(gè)解釋器來(lái)執(zhí)行jsp網(wǎng)頁(yè),而這個(gè)jsp解釋器就是Tomcat
那為什么還要JDK呢?因?yàn)閖sp需要連接數(shù)據(jù)庫(kù)的話就要jdk來(lái)提供連接數(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ù)開(kāi)銷
相關(guān)文章
CentOS7服務(wù)器環(huán)境下vsftpd安裝及配置方法
這篇文章主要介紹了CentOS7服務(wù)器環(huán)境下vsftpd安裝及配置方法,結(jié)合實(shí)例形式分析了CentOS7服務(wù)器環(huán)境下進(jìn)行vsftpd安裝及配置的步驟與相關(guān)問(wèn)題解決方法,需要的朋友可以參考下2018-03-03讓Apache支持shtml實(shí)現(xiàn)include文件解析的配置方法
Apache支持include文件解析shtml首先要應(yīng)該修改Apache配置文件httpd.conf2011-03-03centos7切換啟動(dòng)內(nèi)核與切換啟動(dòng)模式的講解
今天小編就為大家分享一篇關(guān)于centos7切換啟動(dòng)內(nèi)核與切換啟動(dòng)模式的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-04-04Linux上下行網(wǎng)速測(cè)試工具_(dá)speedtest-cli安裝使用方法
speedtest-cli是Linux下的一個(gè)上下行網(wǎng)速測(cè)試工具,是一個(gè)用Python寫(xiě)的命令行腳本,需要的朋友可以參考下2017-03-03ubuntu中修改grub的啟動(dòng)時(shí)間生成
這篇文章主要介紹了ubuntu中修改grub的啟動(dòng)時(shí)間生成,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10