Http协议与Tomcat

HTTP协议

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

 特点

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

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

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

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

HTTP请求数据格式

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

请求行

请求数据第一行

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

请求头

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

请求体

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

如下示例

 请求头的Key

 

 响应数据格式

⭐响应头

响应数据第一行

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

⭐响应头

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

⭐响应体

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

响应码与响应头的Key

响应状态码

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

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

 

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256399.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

验证码的多种生成策略

&#x1f60a; 作者&#xff1a; 瓶盖子io &#x1f496; 主页&#xff1a; 瓶盖子io-CSDN博客 第一种 a.导入依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.10</ver…

冷却液泵现场案例:施耐德EOCR-FMZ2在冷却液泵设备上的使用

热水泵和冷却液泵是现代工业及建筑设施中不可或缺的部件。它们分别在热能传递和冷却系统中扮演着重要角色。本文将探讨施耐德EOCR-FMZ2在冷却液泵设备上的应用案例&#xff0c;展示其如何提高系统效率和安全性。 冷却液泵通常用于工业生产中&#xff0c;用来维持机械设备在适宜…

关于最长上升子序列的动态规划问题的优化算法(二分搜索)

最长递增子序列 暴力解法&#xff1a; 思路&#xff1a;使用动态规划的思想&#xff0c;判断当前元素之前的所有元素&#xff0c;如果比当前元素小&#xff0c;则修改当前元素的最长递增子序列&#xff08;需判断是否需要修改&#xff09;。 时间复杂度&#xff1a;O(n^2) im…

“分割“安卓用户,对标iOS,鸿蒙崛起~

近期关于**“华为于明年推出不兼容安卓的鸿蒙版本”**的消息传出&#xff0c;引起了业界的热议关注。自从2019年8月&#xff0c;美国制裁下&#xff0c;华为不再能够获得谷歌安卓操作系统相关付费服务&#xff0c;如此情况下&#xff0c;华为“备胎”鸿蒙操作系统一夜转正。 华…

虚拟化之指令的Trap和仿真

有时,虚拟机监控程序需要在虚拟机(VM)中模拟操作。例如,VM内的软件可能尝试配置与功耗管理或缓存一致性相关的低级处理器控件。通常,您不希望将VM直接访问这些控件,因为它们可能被用于突破隔离,或影响系统中的其他VM。 trap在执行给定操作(例如读取寄存器)时引发异常…

UEC++ 探索虚幻5笔记 day11

虚幻5.2.1探索 项目目录探索 C工程一定不能是中文路径&#xff0c;中文项目名&#xff0c;最好全部不要用中文&#xff0c;蓝图项目可以是中文浅浅创建一个空项目&#xff0c;讲解一下之前UE4没有讲解的项目目录文件的分布组成 .vs&#xff1a;文件夹一般是项目编译缓存文件夹…

探索SpringBoot发展历程

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 循序渐进学SpringBoot ✨特色专栏&…

matplot函数调整子图大小测试

调整subplot()函数的子图间距 import numpy as np import matplotlib.pyplot as plt for i in range(1,7):figsize 10,6plt.subplot(2,3,i)plt.text(0.5,0.5,str((2,3,i)),fontsize18,hacenter) **plt.subplots_adjust(hspace3.3, wspace0.3)** plt.show()import numpy as np…

AV1编码技术分享指南 ‍

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

【STM32】TIM定时器输入捕获

1 输入捕获 1.1 输入捕获简介 IC&#xff08;Input Capture&#xff09;输入捕获 输入捕获模式下&#xff0c;当通道输入引脚出现指定电平跳变时&#xff08;上升沿/下降沿&#xff09;&#xff0c;当前CNT的值将被锁存到CCR中&#xff08;把CNT的值读出来&#xff0c;写入到…

动态设置当前按钮是否可以点击

当审核状态为通过时不可以点击审核按钮 <vxe-columnfixed"right"align"center"width"100"title"操作"><template slot-scope"scope"><el-button v-if"hasPermission(basic:archivalInfo:edit)":di…

【学习记录】从0开始的Linux学习之旅——字符型设备驱动及应用

一、概述 Linux操作系统通常是基于Linux内核&#xff0c;并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程&#xff0c;具有强大的网络功能和良好的兼容性。基于前面应用与驱动的开发学习&#xff0c;本文主要讲述如何在linux系统上把应用与驱动…