Http协议与Tomcat
作者:mmseoamin日期:2023-12-13

HTTP协议

HTTP协议(HyperText Transfer Protocol)即超文本传输协议 ,是TCP/IC网络体系结构应用层的一个客户端-服务端协议,是所有客户端,服务端数据传输的基石(数据传输规则)

Http协议与Tomcat,第1张

 特点

⭐基于TCP协议:面向连接,安全

⭐基于请求-响应模型:一次请求对应一次响应

⭐无状态协议,每次请求-响应都是独立的,虽然传输速度快,但多次请求不能共享数据

(当死去的计网记忆突然攻击我😓忘光了)

Http协议与Tomcat,第2张

HTTP请求数据格式

即客户端向服务端发送信息格式

⭐请求行

请求数据第一行

格式:     请求方式(Get   Post等)      请求路径(Get请求路径直接携带参数)     请求协议 

⭐请求头

第二行以后格式为  key:value的数据

⭐请求体

最后面JSON数据部分,存放请求参数(前端传给后端数据)

如下示例

Http协议与Tomcat,第3张

 请求头的Key

Http协议与Tomcat,第4张

 响应数据格式

⭐响应头

响应数据第一行

格式: 传输协议/协议版本     响应码    响应码描述

⭐响应头

格式同请求数据响应头,Key值不同

⭐响应体

最后面JSON数据部分,存放响应数据(后端传给前端数据)

Http协议与Tomcat,第5张

响应码与响应头的Key

Http协议与Tomcat,第6张

响应状态码

响应状态码标志着响应的状态,是判断数据传输成功与否的重要标准,也可以反应数据传输中的错误,下面是常见响应状态码

200 OK:       请求成功,不夸张的说,Nothing is much happier than it

404 Not Found:     请求资源不存在,经典404,一般是URL输入有误,或者网站资源已经不存在

500 Internal Server Error:    服务器发生不可预期的错误。后端噩梦,服务器出异常了,赶紧看日志去吧

全部响应状态码

HTTP 响应状态码 - HTTP | MDN (mozilla.org)

HTTP content-type | 菜鸟教程 (runoob.com)

手撕 数据解析与响应

不会真以为我会手写吧(doge),作为一个炸娃程序员是绝对不会受这苦的,直接请出重量级人物----TomCat

Tomcat

Tomcat是一个开源Web服务器,(Web服务器)对HTTP协议操作进行了封装,简化了解析请求数据与发送响应数据的操作,使Web开发高效便捷

请看VCR

Http协议与Tomcat,第7张

Http协议与Tomcat,第8张

Tomcat原理

Tomcat通过前端控制器(DispatcherServlet)来获取请求数据与响应数据,由于DispatchServlet实现了Servlet接口规范,DispatchServlet可以接受客户端发来的请求并解析数据存于HttpServletRequest对象中,再递交Controller程序处理,处理后再将响应数据保存于HttpServletResponse对象中,继而由Tomcat发送响应数据给客户端

更爽的是SpringBoot集成了Tomcat服务器,你无需部署Tomcat服务器 ,直接面向注解编程即可

Http协议与Tomcat,第9张