Tomcat是什么
Tomcat是一个web应用服务器,也就是说既是web服务器,也是应用服务器
web服务器和应用服务器
(1)web服务器主要是为客户端提供静态内容而设计,通常是以.htm,.html,.shtml,.xml为后缀的文件进行展示。静态内容是图片、文字、视频等固定不变的数据。
常用的Web服务器有IIS,Apache,Nginx。
(2)应用服务器根据请求将动态内容反馈给客户端,通常是以.asp,.jsp,.php,.pet,.cgi为后缀的文件进行处理,以静态页面展示。动态内容是因条件、因时、因人变化的数据。
常用的应用服务器有Tomcat、JBoss、Weblogic。
然而需要注意的是web服务器可以通过插件来支持脚本语言,比如Perl、PHP、ASP、JSP等,通过这些插件,web服务器就可以生成动态的HTTP内容。
多数应用服务器具有web服务器的设计能力,不过并没有天生的web服务器性能好。Tomcat作为应用服务器的性能就比其作为Web服务器的性能好,所以Tomcat会配合一个Web服务器(比如:nginx)进行应用。
Tomcat架构的核心组件
Tomcat是由servlet容器(也称为Catalina)+其他容器组成。
Tomcat 启动的时候会初始化Catalina实例,然后加载server.xml,根据其创建并管理⼀个服务器(Server);Server创建并管理多个服务(service),每个服务⼜可以有多个连接器(Connector),以及一个引擎(Engine);一个引擎(Engine)下有多个主机(Host)和上下文(Context)等组件。具体参见下图:
服务器(server):简单的说是Tomcat的顶层组件
服务(Service):是在Connector和Engine外面包了一层,把它们组装在一起,对外提供服务。一个Service可以包含多个Connector,但是只能包含一个Engine。
连接器(connector):负责连接客户端请求至Servlet容器内的Web应用程序。默认的连接器是基于HTTP/1.1的Coyote;同时,Tomcat也支持AJP、JServ和JK2连接器。默认端口通常是HTTP协议的8080。
引擎(Engine):即Catalina Servlet引擎,用来处理connector接收到的请求,可以管理多个虚拟站点。
主机(Host):代表⼀个虚拟主机,或者说⼀个站点,可以给Tomcat配置多个虚拟主机地址。
上下文(Context):表示Web应用程序本身。配置一个Context最主要的是指定Web应用程序的根目录,以便Servlet容器能够将用户请求发往正确的位置。Context组件也可包含自定义的错误页,以实现在用户访问发生错误时提供友好的提示信息。
#学问分亨官##闪光时刻第二期主题征文#