Apache和Tomcat都是Apache开源社区开发出的用于http服务的项目,两者都为免费且都可独立运行,Aoache是Web服务器,Tomcat是Java应用服务器。
Apache的特点是简单,快速,稳定,主要用于解析静态页面,不支持动态请求,具有很强的扩展性,可以通过插件扩展从而支持PHP等动态请求,可与Tomcat实现连通,Apache是世界使用排名第一的Web服务器。
Tomcat是Java开发的一个符合JavaEE的Servlet规范的JSP服务器(Servlet容器),是 Apache 的扩展。是一款免费的Java应用服务器,主要应用解析jsp,也支持静态但是没有Apache效率高。
所以缝合两者有点,Apache + Tomcat= Apache Tomcat诞生了,如果申请的是静态网页则由Apache处理,并将结果返回;如果是动态请求,Apache会将解析工作转发给Tomcat处理,Tomcat处理后将结果通过Apache返回。这样可以达到分工合作,实现负载远衡,提高系统的性能。
代理分为正向代理与反向代理,正向代理如字面意思,就是服务端不知道客户是谁,只负责将请求的回报送回到请求者,再由这个请求者交给真正的客户。客户知道要访问的是谁,但服务端并不知道,有一个中间人代替客户访问服务端,而服务端只处理自己负责的事务并返回给请求者,至于客户到底是谁并不追问。
反向代理正好相反,客户不知道服务端到底是谁,他的请求被中间人具体怎么分配并不知情,具体被谁服务也不知情,只知道我的请求得到了回应,至于提供服务的具体是谁并不追问。
JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。J2EE的全称是Java 2 Platform Enterprise Edition,它是由SUN公司领导、各厂家共同制定并得到广泛认可的工业标准,或者说,它是在SUN公司领导下,多家公司参与共同制定的企业级分布式应用程序开发规范。目前,J2EE是市场上主流的企业级分布式应用平台的解决方案。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持serverl/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。EJB是的Enterprise Java Beans技术的简称, 又被称为企业Java Beans。这种技术最早是由美国计算公司研发出来的。EJB技术的诞生标志着Java Beans的运行正式从客户端领域扩展到服务器领域。在电子商务领域运用EJB技术可以简化应用系统的开发, 这是由该技术的结构和特点所决定的。JBoss是免费的,需要的硬盘空间与内存占用比较小,安装简单,部署容易并支持集群。JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。