【前言:先上干活,看图说话,简易模型的单体JavaWeb应用程序的访问流程图!】

- 用户通过浏览器进行了一个操作,比如输入网址并回车,或者是点击链接,接着浏览器获取了这个事件。
- 浏览器向服务端发出TCP连接请求。
- 服务程序接受浏览器的连接请求并经过TCP三次握手建立连接。
- 浏览器将请求数据打包成一个HTTP协议格式的数据包。
- 浏览器将该数据包推入网络,数据包经过网络传输,最终达到端服务程序。
- 服务端程序拿到这个数据包后,同样以HTTP协议格式解包,获取到客户端的意图。
- 得知客户端意图后进行处理,比如提供静态文件或者调用服务端程序获得动态结果。
- 服务器将响应结果(可能是HTML或者图片等)按照HTTP协议格式打包。
- 服务器将响应数据包推入网络,数据包经过网络传输最终达到到浏览器。
- 浏览器拿到数据包后,以HTTP协议的格式解包,然后解析数据,假设这里的数据是 HTML。
- 浏览器将HTML文件展示在页面上。
1:Http工作原理
HTTP协议是浏览器与服务器之间的数据传送协议。作为应用层协议,HTTP是基于TCP/IP协议来传递数据的(HTML文件、图片、查询结果等),HTTP协议不涉及数据包(Packet)传输,主要规定了客户端和服务器之间的通信格式。
2:Tomcat整体架构
Tomcat要实现两个核心功能:
- 处理Socket连接,负责网络字节流与Request和Response对象的转化。
- 加载和管理Servlet,以及具体处理Request请求。
因此Tomcat设计了两个核心组件连接器(Connector)和容器(Container)来分别做这 两件事情。连接器负责对外交流,容器负责内部处理。

对于Tomcat的详细学习具体参考文章:学习Tomcat这一篇就够了_轻松的小希的博客-CSDN博客_学习tomcat
从浏览器地址栏输入URL后,到页面渲染出来,整个过程都发生了什么?【含三次握手四次挥手】具体参考文章:从浏览器地址栏输入URL后,到页面渲染出来,整个过程都发生了什么?_Whoopsina的博客-CSDN博客_输入url到页面渲染发生了什么