HTTP协议(HyperText Transfer Protocol)即超文本传输协议 ,是TCP/IC网络体系结构应用层的一个客户端-服务端协议,是所有客户端,服务端数据传输的基石(数据传输规则)
⭐基于TCP协议:面向连接,安全
⭐基于请求-响应模型:一次请求对应一次响应
⭐无状态协议,每次请求-响应都是独立的,虽然传输速度快,但多次请求不能共享数据
(当死去的计网记忆突然攻击我忘光了)
即客户端向服务端发送信息格式
请求数据第一行
格式: 请求方式(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是一个开源Web服务器,(Web服务器)对HTTP协议操作进行了封装,简化了解析请求数据与发送响应数据的操作,使Web开发高效便捷
请看VCR
Tomcat通过前端控制器(DispatcherServlet)来获取请求数据与响应数据,由于DispatchServlet实现了Servlet接口规范,DispatchServlet可以接受客户端发来的请求并解析数据存于HttpServletRequest对象中,再递交Controller程序处理,处理后再将响应数据保存于HttpServletResponse对象中,继而由Tomcat发送响应数据给客户端
更爽的是SpringBoot集成了Tomcat服务器,你无需部署Tomcat服务器 ,直接面向注解编程即可