Administrator
Administrator
发布于 2025-08-18 / 0 阅读

http请求头响应头 速通

以下是HTTP协议中所有核心请求头(Request Headers)和响应头(Response Headers)的详细说明,包括作用、示例和应用场景。内容综合自权威技术文档和最佳实践,按功能分类整理:


📩 一、HTTP请求头(Request Headers)

1. 基础标识类

字段 作用 示例 应用场景
Host 指定目标服务器域名和端口 Host: www.example.com:8080 HTTP/1.1必填字段,用于虚拟主机区分
User-Agent 标识客户端类型和版本 User-Agent: Mozilla/5.0 (Windows NT 10.0...) 服务器适配内容(如移动端/PC端页面)
Accept 声明客户端支持的内容类型 Accept: text/html, application/json;q=0.9 内容协商(服务器按优先级返回格式)

2. 性能优化类

字段 作用 示例 应用场景
Accept-Encoding 声明支持的压缩算法 Accept-Encoding: gzip, deflate 服务器压缩响应体(节省带宽)
Accept-Language 声明首选语言 Accept-Language: zh-CN, en-US;q=0.8 国际化(返回对应语言页面)
Cache-Control 控制缓存行为 Cache-Control: max-age=3600 减少重复请求(如max-age定义缓存有效期)
If-Modified-Since 资源修改时间验证 If-Modified-Since: Wed, 21 Oct 2024... 配合Last-Modified返回304(未修改时用缓存)
If-None-Match ETag验证 If-None-Match: "686897696a7c" 优先于时间戳的缓存验证(精度更高)

3. 安全与会话类

字段 作用 示例 应用场景
Authorization 携带身份凭证 Authorization: Bearer eyJhbGci... API鉴权(Basic Auth/JWT)
Cookie 发送客户端存储的会话信息 Cookie: sessionId=abc123; theme=dark 用户状态保持(如登录态)
Referer 声明请求来源页面 Referer: https://www.example.com/home 防盗链、流量分析
Origin 声明跨域请求来源 Origin: https://www.example.com CORS跨域安全校验

4. 请求体控制类

字段 作用 示例 应用场景
Content-Type 指定请求体格式 Content-Type: application/json POST/PUT请求(如JSON提交)
Content-Length 声明请求体大小 Content-Length: 348 确保服务器正确读取请求体
Range 请求部分内容 Range: bytes=0-1023 大文件分片下载/断点续传

📥 二、HTTP响应头(Response Headers)

1. 内容描述类

字段 作用 示例 应用场景
Content-Type 声明响应体格式 Content-Type: text/html; charset=utf-8 浏览器按类型解析(如HTML渲染)
Content-Length 声明响应体大小 Content-Length: 1234 客户端校验数据完整性
Content-Encoding 声明压缩算法 Content-Encoding: gzip 通知客户端解压方式

2. 缓存控制类

字段 作用 示例 应用场景
Cache-Control 定义缓存策略 Cache-Control: public, max-age=3600 控制CDN/浏览器缓存行为
ETag 资源版本标识符 ETag: "686897696a7c" 配合If-None-Match实现协商缓存
Last-Modified 资源最后修改时间 Last-Modified: Wed, 21 Oct 2024... 配合If-Modified-Since验证缓存
Expires 定义缓存过期时间 Expires: Tue, 20 Oct 2025 16:00:00 GMT HTTP/1.0遗留字段(优先级低于Cache-Control

3. 行为控制类

字段 作用 示例 应用场景
Location 重定向目标URL Location: /new-page 3xx状态码跳转(如301永久重定向)
Set-Cookie 设置客户端Cookie Set-Cookie: sessionId=abc123; HttpOnly 会话管理(HttpOnly防XSS攻击)
Content-Disposition 控制资源处理方式 Content-Disposition: attachment; filename="file.pdf" 强制文件下载(而非浏览器预览)

4. 安全防护类

字段 作用 示例 应用场景
Access-Control-Allow-Origin 跨域资源访问控制 Access-Control-Allow-Origin: * CORS跨域权限(*允许所有域)
Strict-Transport-Security 强制HTTPS Strict-Transport-Security: max-age=31536000 防止SSL剥离攻击(HSTS策略)
X-Content-Type-Options 禁用MIME嗅探 X-Content-Type-Options: nosniff 阻止浏览器猜测内容类型(防XSS)

⚙️ 三、自定义头(Custom Headers)

常见场景与规范

  • 命名规范:弃用X-前缀,改用业务相关名称(如App-Version: 2.0

应用场景

  • 前端传递设备信息:Device-ID: abc123

  • 后端返回调试标识:Debug-Trace: 0a1b2c3d

  • API版本控制:Api-Version: v2

  • 安全限制:跨域请求时,自定义头需在Access-Control-Allow-Headers中显式声明


💎 四、核心应用场景总结

性能优化组合

  • 缓存控制:Cache-Control + ETag(减少数据传输)
  • 压缩传输:Accept-Encoding: gzip + Content-Encoding: gzip(节省带宽)

安全防护组合

  • 跨域安全:Origin(请求) + Access-Control-Allow-Origin(响应)
  • 会话安全:Cookie(请求) + Set-Cookie; HttpOnly; Secure(响应)

内容协商组合

  • 语言适配:Accept-Language(请求) → 服务器返回对应语言资源
  • 格式适配:Accept: application/json(请求) → Content-Type: application/json(响应)

完整HTTP头字段列表可参考 MDN官方文档。实际开发中建议使用工具(如Chrome DevTools)实时查看请求/响应头交互细节。