http

分钟
http
AI 概括

点击按钮,AI 将为你生成这篇文章的摘要

定义

HTTP协议分为请求协议响应协议。请求协议规定了浏览器将数据发送到服务器的格式,包括请求行、请求头、请求体。响应协议规定了服务器将数据返回给浏览器的格式,包括响应行、响应头、响应体。

请求协议

请求协议格式

  • 请求行请求方式 资源路径 协议/版本(如:GET /brand/findAll?name=OPPO&status=1 HTTP/1.1
  • 请求头key: value 格式,常见请求头如下:
请求头含义
Host请求的主机名
User-Agent浏览器版本
Accept能接收的资源类型
Accept-Language偏好的语言
Accept-Encoding支持的压缩类型
Content-Type请求主体的数据类型
Content-Length数据主体的大小(字节)
  • 请求体:存储POST请求参数,与请求头之间有空行分隔

GET与POST请求区别

区别方式GET请求POST请求
请求参数在请求行中(URL可见)在请求体中
请求参数长度有限制无限制
安全性较低相对较高

响应协议

  • 响应行协议/版本 响应状态码 状态码描述(如:HTTP/1.1 200 OK
  • 响应头:常见响应头有 Content-TypeContent-LengthContent-EncodingCache-ControlSet-Cookie
  • 响应体:存储响应数据,与响应头之间有空行分隔

获取请求数据(服务端)

@RestController
public class RequestController {
@RequestMapping("/request")
public String request(HttpServletRequest request){
//1.获取请求参数
String name = request.getParameter("name");
String age = request.getParameter("age");
//2.获取请求路径
String uri = request.getRequestURI();
String url = request.getRequestURL().toString();
//3.获取请求方式
String method = request.getMethod();
//4.获取请求头
String header = request.getHeader("User-Agent");
return "request success";
}
}

设置响应数据

@RestController
public class ResponseController {
@RequestMapping("/response")
public void response(HttpServletResponse response) throws IOException {
response.setStatus(401);
response.setHeader("name","itcast");
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("<h1>hello response</h1>");
}
@RequestMapping("/response2")
public ResponseEntity<String> response2() {
return ResponseEntity
.status(401)
.header("name","itcast")
.body("<h1>hello response</h1>");
}
}

常见场景

服务端根据请求头中的User-Agent判断浏览器类型,处理浏览器兼容问题

  1. 前后端分离项目中通过Content-Type指定JSON格式传输数据
  2. 通过Cache-Control控制浏览器缓存策略

注意事项

  1. 响应状态码和响应头通常不需要手动设定,服务器会根据请求处理逻辑自动设置
  2. Web服务器(Tomcat)已对HTTP协议数据进行封装(HttpServletRequest / HttpServletResponse),程序员无需直接操作协议

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
http
https://f3f3.top/posts/41225885/
作者
lyf
发布于
2026-06-14
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
lyf
Hello, I'm LyF.
公告
欢迎来到一飞的博客!。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
我和宝宝在一起已经
---------TSH ❤️ CXY---------
---------TSH
❤️
CXY---------
0 0 0 0 0 00
分类
标签
站点统计
文章
18
分类
8
标签
19
总字数
74,739
运行时长
0
最后活动
0 天前

文章目录

🤖 AI 助手

👋 你好!

我可以帮你解答关于这篇文章的问题