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

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.xdnf.cn/news/16021.html

相关文章:

  • 按键精灵脚本:自动化利刃的双面性 - 从技术原理到深度实践与反思
  • 大型语言模型(Large Language Models,LLM)
  • 循环神经网络--NLP基础
  • LINUX 722 逻辑卷快照
  • 单细胞转录组学+空间转录组的整合及思路
  • MySQL 学习二 MVCC
  • Python -- logging --日志模块
  • VUE2 项目学习笔记 ? 语法 v-if/v-show
  • 使用docker(ubuntu)搭建web环境(php,apahce2)
  • 无人机吊舱与遥控器匹配技术解析
  • LeetCode 热题100:42.接雨水
  • 如何在 Windows 10 下部署多个 PHP 版本7.4,8.2
  • 从零搭建 OpenCV 项目(新手向)--第一天初识OpenCV与图像基础
  • javaweb小案例1
  • 开源AI智能客服、AI智能名片与S2B2C商城小程序在客户复购与转介绍中的协同效应研究
  • 在腾讯云上安装gitlab
  • Qt开发环境搭建全攻略(Windows+Linux+macOS)
  • 【Altium Designer2025】电子设计自动化(EDA)软件——Altium Designer25版保姆级下载安装详细图文教程(附安装包)
  • 基于JAVA实现基于“obj--html--pdf” 的PDF格式文本生成
  • linux内核与GNU之间的联系和区别
  • 【QT常用技术讲解】QSystemTrayIcon系统托盘
  • 大模型——Data Agent:超越 BI 与 AI 的边界
  • 跨境企业破局国际市场:海外媒体发稿如何为品牌声誉赋能?
  • 算法笔记之堆排序
  • Docker实战:使用Docker部署TeamMapper思维导图工具
  • haproxy七层代理新手入门详解
  • EasyMan 数字人服务全面焕新,交互型AI数字人助推孪生体验全新升级
  • 大模型——上下文工程如何重塑智能体的“思考方式”
  • 【接口自动化】掌握接口自动化:核心概念讲解(理论知识)
  • Qt定时器与事件循环机制