Loading
622 字
3 分钟

HTTP请求与响应

2026-05-17
浏览量 加载中...
AI 摘要

HTTP请求与响应#

定义#

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>");
}
}

常见场景#

  1. 服务端根据请求头中的User-Agent判断浏览器类型,处理浏览器兼容问题
  2. 前后端分离项目中通过Content-Type指定JSON格式传输数据
  3. 通过Cache-Control控制浏览器缓存策略

注意事项#

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

相关链接#


附录:常见状态码#

状态码含义
200客户端请求成功
404请求资源不存在
500服务端发生不可预期的错误

支持与分享

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

赞助
HTTP请求与响应
https://blog.tsh520.cn/posts/javawebai/后端基础/http请求与响应/
作者
团子和蛋糕
发布于
2026-05-17
许可协议
CC BY-NC-SA 4.0
最后更新于 2026-05-17,距今已过 34 天

部分内容可能已过时

评论区

[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:00 0:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]
我和宝宝在一起已经
---------TSH CXY---------
---------TSH
CXY---------
0 0 0
00 00 00
最近更新
站点统计
文章
84
动态
20
记录次数
89
分类
6
标签
78
总字数
94,329
运行时长
0
最后活动
0 天前