Tomcat工作原理浅析/网站请求访问流程

本文详细介绍了Tomcat的工作原理,包括其连接器和容器的角色。连接器负责监听端口,接收并预处理HTTP请求,而容器处理请求并生成响应。HTTP请求过程从客户端发起,经过连接器到容器,再到具体的应用和业务逻辑。同时,文章还提到了DNS解析在请求过程中的作用。
摘要由CSDN通过智能技术生成

Tomcat工作原理浅析

关键词:Tomcat、原理、javaweb

本文摘要:之前做过一些javaweb小项目,但是还有点懵懵的,对web项目的运行原理不太清晰,所以在此重新梳理一下。

首先从宏观上看看

在一次会话中(比如打开某个网页),浏览器向服务器发起一个请求,由Tomcat处理后再发回客户机。

假设来自客户的HTTP请求为:http://localhost:8080/Demo1t/HomePage.jsp。
其中localhost一般为域名,8080是服务器的端口,Demo1是项目名,HomePage是项目中的一个页面。

现在再看看Tomcat的组成部分
在这里插入图片描述

Tomcat 的核心功能有两个,分别是负责接收请求和返回请求结果的连接器 Connector,和负责处理请求的容器 Container。其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service,每个 Tomcat 服务器可以管理多个 Service。下面分别介绍核心组件。

连接器Connector
核心功能:
1.监听端口(还记得第一次安装tomcat那个8080端口吧),接收和响应网络请求。
2.网络字节流处理。http协议传来的数据容器可看不懂,需要先进行预处理。将收到的网络字节流转换成 Tomcat Request 再转成标准的 ServletRequest 给容器。待容器处理结束后,将容器传来的 ServletResponse 转成 Tomcat Response 再转成网络字节流。

连接器又可以细分成更多小组件,先不细说了,总结一下,连接器的主要作用就是监听用户端发来的请求。

容器Container
简单说,容器就是用来处理请求的,容器主要包括:
Engine:引擎,管理多个虚拟主机
Host:虚拟主机,用于部署web应用
Context:web应用

在这里插入图片描述
一个http请求过程
最后,回到文章开头的http请求,看看具体的请求过程
第一步,手机或者PC(客户端)发送了一个http://localhost:8080/Demo1t/HomePage.jsp请求。
第二步,连接器监听的端口是8080,请求的的端口和监听的端口一致,连接器接受了该请求。
第三步,因为引擎的默认虚拟主机是 localhost,并且虚拟主机的目录是webapps。所以请求找到了 tomcat/webapps 目录。
第四步:解析的 Demo1 是 web 程序的应用名,也就是 context。此时请求继续从 webapps 目录下找 Demo1 目录。
第五步:解析的 HomePage.jsp是具体的业务逻辑地址。此时需要从 docs/WEB-INF/web.xml 中找映射关系,最后调用具体的函数。

更底层一些,当浏览器发出一个http请求时,会先在本地电脑的system32文件夹下查找一个hosts文件,在hosts文件中寻找是否有相对应的域名映射。如找不到则会到DNS服务器继续寻找,直到找到相对应的域名映射。然后才会进行上述的请求过程。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值