当前位置: 首页 > news >正文

HTTP 协议常见字段(请求头/响应头)

HTTP(HyperText Transfer Protocol)协议通过 请求头(Request Headers) 和 响应头(Response Headers) 传递元数据。以下是 最常见的 HTTP 字段 及其作用:


1. 通用字段(请求和响应均可使用)

字段名作用示例值
Cache-Control控制缓存行为(如是否缓存、缓存时间)。max-age=3600(缓存1小时)
Connection管理连接状态(如 keep-alive 保持长连接)。keep-alive
Content-Type指定请求/响应体的数据类型(MIME类型)。application/json
Content-Length表示请求/响应体的字节长度。1024
Date消息发送的日期和时间。Tue, 15 Nov 2022 08:12:31 GMT

2. 请求头(Request Headers)

字段名作用示例值
Host指定目标服务器的主机和端口(HTTP/1.1 必需字段)。www.example.com
User-Agent标识客户端(浏览器、爬虫等)的类型和版本。Mozilla/5.0 (Windows NT 10.0)
Accept声明客户端可处理的响应数据类型(如 text/html)。text/html, application/xml
Accept-Language声明客户端优先接收的语言。en-US, zh-CN
Authorization携带认证信息(如 Bearer Token、Basic Auth)。Bearer xxxxxx
Cookie发送服务器设置的 Cookie 数据。sessionId=abc123
Referer表示当前请求的来源页面(用于防盗链或分析流量)。https://www.google.com

3. 响应头(Response Headers)

字段名作用示例值
Server标识服务器软件(如 Nginx、Apache)。nginx/1.18.0
Set-Cookie服务器向客户端设置 Cookie。sessionId=abc123; Path=/
Location重定向目标 URL(状态码为 3xx 时使用)。https://new.example.com
Access-Control-Allow-Origin指定允许跨域请求的源(CORS 相关)。*(允许所有域名)
ETag资源的唯一标识符(用于缓存验证)。"33a64df5"
Last-Modified资源最后修改时间(与 If-Modified-Since 配合缓存)。Tue, 15 Nov 2022 08:00:00 GMT

4. 示例 HTTP 请求与响应

HTTP 请求示例

GET /api/data HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: application/json
Authorization: Bearer xyz123
Cache-Control: no-cache

HTTP 响应示例

HTTP/1.1 200 OK
Server: nginx/1.18.0
Content-Type: application/json
Content-Length: 128
ETag: "33a64df5"
Set-Cookie: sessionId=abc123; Path=/; HttpOnly

5. 关键字段解析

(1) Cache-Control 常见指令

指令作用
no-cache强制向服务器验证缓存是否有效。
no-store禁止缓存(用于敏感数据)。
max-age=3600缓存有效期(秒)。

(2) Content-Type 常见 MIME 类型

类型用途
text/htmlHTML 网页
application/jsonJSON 数据
multipart/form-data文件上传表单

(3) CORS 相关字段

字段名作用
Access-Control-Allow-Origin允许跨域的源域名。
Access-Control-Allow-Methods允许的 HTTP 方法(如 GET, POST)。

6. 总结

  • 通用字段Cache-ControlContent-TypeConnection

  • 请求头HostUser-AgentCookieAuthorization

  • 响应头Set-CookieLocationETagServer

  • 高频场景

    • 缓存控制 → Cache-ControlETag

    • 身份认证 → AuthorizationCookie

    • 跨域处理 → Access-Control-Allow-Origin

掌握这些字段能高效调试 HTTP 请求(如用 Chrome DevTools 或 curl -v

http://www.dtcms.com/a/292786.html

相关文章:

  • 虚幻5入门教程:如何在虚幻5中创建一个C++的Plugin
  • android 12 的 aidl for HAL 开发示例
  • VR技术在元宇宙游戏中的作用及发展前景深度分析
  • Fluent许可与网络安全策略
  • 基于JSP的快递管理系统/快递寄出管理系统
  • 初识opencv01——基本api操作
  • Transactional事务不生效案例与解决方案?
  • 基于深度学习Transform的steam游戏特征分析与可视化【词云-情感词典分析-主题分析-词频分析-关联分析】
  • Android 自动的文件管理器存在以下问题,文件管理器横竖屏切换会停止运行,如何解决
  • 多维基分析求导法则
  • DNS应用层协议
  • OEC 刷机Armbain 25.05后配置说明
  • Vue3中watch和watchEffect区别和用法
  • 安装UV(一个python工具)
  • C语言符号可见性控制与工程实践——深入理解 __attribute__((visibility)) 和 -fvisibility=hidden
  • 【bug】Yolo11在使用tensorrt推理numpy报错
  • 在线教育培训课程视频如何防下载、防盗录?
  • Java(LinkedList和ArrayList底层分析)
  • UML中的多重性详解
  • 【QT常用技术讲解】QSystemTrayIcon系统托盘
  • cuda做lut 去畸变示例
  • APT32F1732RBT8爱普特微电子 32位MCU国产芯片 智能家居/工业控制 首选
  • 【Word Press基础】创建一个自定义区块
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(7):自動詞 & 他動詞
  • Matlab学习笔记:矩阵基础
  • 鸿蒙卡片开发保姆级教程
  • 【Kubernetes】集群外使用 kubectl 命令连接集群
  • 数据结构 之 【排序】(直接选择排序、堆排序、冒泡排序)
  • LS-DYNA | 载荷与边界条件
  • 内网穿透利器:基于HTTPHTTPS隧道的代理工具深度解析