容器理解之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好比是水。
容器理解之Tomcat和Apache的恩恩怨怨
那么就很清晰了Apache不好直接装水,但是可以装一些硬货,而tomcat也不是说一定要依赖apache,可以单独存在,其实水桶也是可以装砖头的,但是相对来说显得不那么合适。

但是人们经常就会将两个集合在一起,访问静态页面(html)的时候就直接用apache,可以减少tomcat的负担,解析动态(jsp,asp,php)的东西时候用tomcat,达到动静结合,资源合理分配。

那么刚才的例子也一样,水是动的,砖头的静的,如果你想要把水和砖头都放在一个运行环境中,你就会用水桶把水装好放车上,在把砖头也放车上,这样就可以做到资源空间合理分配应用啦。

我这样解析不知各位客官是否清晰了,喜欢的话麻烦给个小心心或者关注哈哟。