一、HTTP Header 是什么?
HTTP Header 是 HTTP 协议中的头部信息部分,位于请求或响应的起始行之后,用来在客户端(浏览器等)与服务器之间传递元信息(meta-data)(简单理解为传递信息的属性)。
这些头信息可以指定:
-
谁发送了请求(
User-Agent) -
期望返回什么格式(
Accept) -
要携带什么内容(
Content-Type、Content-Length) -
是否启用缓存(
Cache-Control) -
是否带有身份验证(
Authorization)
二、常见请求头字段解释
| Header 名 | 说明 |
|---|---|
| Host | 指定服务器主机名(域名),比如:Host: www.example.com。HTTP/1.1 中是必须的。 |
| User-Agent | 客户端的软件标识(浏览器类型、版本、操作系统),用于服务端做适配。 |
| Accept | 告诉服务器客户端希望接收的响应数据格式,比如:text/html、application/json。 |
| Accept-Encoding | 支持的压缩格式,例如:gzip, deflate, br。 |
| Accept-Language | 客户端可接受的语言,比如:zh-CN, en-US;q=0.8。 |
| Connection | 控制连接是否保持,比如:keep-alive 表示连接复用,close 表示关闭。 |
| Referer | 当前请求的来源页面 URL,有利于防盗链、安全监测。 |
| Cookie | 携带之前服务器发送的 Cookie 数据(用于身份标识、状态保持等)。 |
| Content-Type | 请求体中的内容格式,例如:application/json、application/x-www-form-urlencoded。 |
| Content-Length | 请求体的长度(字节数),如上传文件或发送 JSON 时需要。 |
| Authorization | 鉴权用,通常是 Bearer token 或 Basic base64编码。 |
三、常见响应头字段解释
| Header 名 | 说明 |
|---|---|
| Content-Type | 响应体的数据类型,比如:text/html、application/json |
| Content-Length | 响应体字节长度 |
| Set-Cookie | 服务器设置 Cookie 给客户端,用于后续请求识别身份 |
| Cache-Control | 控制缓存行为,如 no-cache, max-age=3600 等 |
| Location | 用于重定向,配合状态码 3xx,比如 Location: https://new.site.com |
| Server | 表示服务器软件信息(如 Apache、nginx) |
| Date | 响应生成时间 |
| Access-Control-Allow-Origin | 跨域请求时指定允许访问的来源(CORS) |
四、重点说明
1.Host
作用:指明服务器的目标主机,此host并不是在网络上用于寻址,而是在目标服务器定位子服务器。服务器的 IP 地址可能是共享的(多个网站部署在一个服务器上),那么服务器就必须根据 Host 字段来区分到底要访问哪一个网站
2.Content-Type
用来指定Body的类型
| 类型 | 描述 | 举例 |
|---|---|---|
text/plain | 纯文本 | Hello World |
text/html | HTML 文件 | <html><body>Hello</body></html> |
application/json | JSON 格式数据 | {"name":"Tom", "age":20} |
application/x-www-form-urlencoded | 简单表单数据,使用url编码的方式将表单内容组织起来 | name=Tom&age=20 |
multipart/form-data | 用于上传文件(带文件表单) | 表单中有图片、文件等 |
application/xml | XML 格式数据 | <user><name>Tom</name></user> |
application/octet-stream | 二进制流 | 下载文件或上传文件用 |
3.Content-Length
指定Body的长度,单位是字节
4.Transfer-Encoding: chunked
表示 服务器采用“分块传输编码” 的方式,把响应内容一块一块(chunk)地传给客户端,而不是一次性告诉客户端总长度。
格式:
最后一块,长度是 0,表示传输结束
必须加上空行结束

5.Location
指定重定向的⽬标
URL
6.User-Agent
⽤户代理,即是谁实际发送请求、接受响应的,例如⼿机浏览器、某款⼿机
App
。
7.Range / Accept-Range
按范围取数据
Accept-Range: bytes
响应报⽂中出现,表示服务器⽀持按字节来取范围数据
Range: bytes=<start>-<end>
请求报⽂中出现,表示要取哪段数据
Content-Range:<start>-<end>/total
响应报⽂中出现,表示发送的是哪段
数据
作⽤:断点续传、多线程下载。


![协同推荐算法实现的智能商品推荐系统 - [基于springboot +vue]](https://i-blog.csdnimg.cn/direct/f56aace797e04e46aac5ee9783213d0b.png)
















