两者既有联系又有区别,是两个软件,可独立使用,也可整合使用。
Apache是web服务器(静态解析,如HTML),本身只支持html,Web服务器专门处理HTTP请求(request),可以通过插件支持php,还可以与Tomcat连通(Apache单向连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然)。
tomcat是java应用服务器(动态解析,如JSP)
Tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行。
共同点:都是apache组织开发的;都有HTTP服务的功能;都是开源免费的。
Apache和Tomcat整合使用:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求;
如果客户端请求动态页面,则是Tomcat服务器响应请求,将解析的JSP等网页代码解析后回传给Apache服务器,再经Apache返回给浏览器端。
区别:
Apache是有C语言实现的,支持各种特性和模块从而来扩展核心功能;Tomcat是Java编写的,更好的支持Servlet和JSP,Tomcat是jsp/servlet容器,同时也支持HTML、JSP、ASP、PHP、CGI等。
Apache可以运行一年不重启,稳定性非常好,而Tomcat则不见得。
Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用。
Nginx是目前性能最高的HTTP服务器。其特点是占有内存少,并发能力强。Nginx代码完全用C语言从头写成。