容器理解之Tomcat和Apache的恩恩怨怨

寫在前面:
首先講到web項目,可能更多的人會想到tomcat,一般我們做一些java web項目的時候,會經常用到這個,其實tomcat簡單講是一箇中間件,web容器(你也可以理解爲web應用服務器),他的目的主要是針對http請求和響應的。
tomcat核心作用
開啓監聽端口監聽用戶的請求,解析用戶發來的http請求然後訪問到你指定的應用系統,然後你返回的頁面經過tomcat返回給用戶。廣泛應用在jsp,html,php,asp等。
簡單舉例
比如你在百度輸入一行內容搜索,那麼百度服務器如何處理這個請求呢?
他需要創建servlet來處理,servlet其實就是java程序,只是在服務器端的java程序,servlet通過配置文件攔截你的請求,並進行相應處理,然後展示給你相應界面,那麼servlet如何創建? 這時候tomcat用到了,它就是幫助你創建servlet的東西,所以也稱web容器,沒有它,沒法運行web項目。
說了這麼多大家還是有點懵,肯定還有人問Apaches又是幹什麼的,那麼問題就來了其實他們兩個側重方向不一。
Tomcat更側重應用服務器,相當於apache的一個擴展,也可以脫離apache獨立運行的。支持JSP和servlet .
Apache 是大的概念,web服務器,側重於HTTP serveer只只支持html靜態頁面,對PHP,ASP,JSP動態頁面就不行。

重點來了,聯繫生活

下面就舉個實際例子給大家來理解吧。
Apache就是一輛大卡車,tomcat是一個水桶,html就好比磚頭,jsp,php,asp好比是水。
在這裏插入圖片描述
那麼就很清晰了Apache不好直接裝水,但是可以裝一些硬貨,而tomcat也不是說一定要依賴apache,可以單獨存在,其實水桶也是可以裝磚頭的,但是相對來說顯得不那麼合適。

但是人們經常就會將兩個集合在一起,訪問靜態頁面(html)的時候就直接用apache,可以減少tomcat的負擔,解析動態(jsp,asp,php)的東西時候用tomcat,達到動靜結合,資源合理分配。

那麼剛纔的例子也一樣,水是動的,磚頭的靜的,如果你想要把水和磚頭都放在一個運行環境中,你就會用水桶把水裝好放車上,在把磚頭也放車上,這樣就可以做到資源空間合理分配應用啦。

我這樣解析不知各位客官是否清晰了,喜歡的話麻煩給個小心心或者關注哈喲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章