前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >聊聊HTTP请求头中字段的含义

聊聊HTTP请求头中字段的含义

原创
作者头像
漫谈测试
发布2025-03-25 10:51:30
发布2025-03-25 10:51:30
1030
举报
文章被收录于专栏:漫谈测试漫谈测试

请求头是客户端向服务器发送请求时附带的关键信息,用于传递请求的元数据,常见的请求头包含host 目标域名或IP,User-Agent说明客户端的信息,使用什么浏览器进行访问的,Content-Length 请求数据的长度,Cookie请求中携带的Cookie信息,Authorization处理用户的认证,Accept-Encoding和Accept-Language涉及内容协商和国际化,Cache-Control和If-Modified-Since这对性能优化很重要等等。

一、基础字段

Host

含义:目标服务器的域名和端口号。

用途:HTTP/1.1 要求必须包含此字段,用于区分同一IP上的多个虚拟主机。

示例:Host: www.example.com:8080

User-Agent

含义:客户端(浏览器、应用等)的类型、版本和操作系统信息。

用途:服务器可根据此字段返回适配的内容(如移动端/PC端页面)。

示例:User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/91.0.4472.124

Accept

含义:客户端可接受的响应内容类型(MIME类型)。

用途:内容协商(如优先返回JSON或XML)。

示例:Accept: text/html, application/json

Accept-Encoding

含义:客户端支持的压缩算法(如gzip、deflate)。

用途:服务器可选择压缩响应以节省带宽。

示例:Accept-Encoding: gzip, deflate, br

Accept-Language

含义:客户端优先接受的自然语言(如中文、英文)。

用途:服务器返回对应语言的页面。

示例:Accept-Language: zh-CN, en-US;q=0.9

二、请求控制

Connection

含义:控制是否保持长连接(HTTP Keep-Alive)。

示例:

保持连接:Connection: keep-alive

关闭连接:Connection: close

Cache-Control

含义:控制缓存行为(如是否缓存、缓存时间)。

示例:

不缓存:Cache-Control: no-cache

最大缓存时间:Cache-Control: max-age=3600

If-Modified-Since

含义:资源上次修改时间(与服务器资源对比,决定是否返回新内容)。

用途:减少重复传输(若未修改,返回 304 Not Modified)。

示例:If-Modified-Since: Wed, 21 Oct 2022 07:28:00 GMT

三、 认证与会话

Authorization

含义:携带认证凭证(如Bearer Token、Basic认证)。

示例:

Basic认证:Authorization: Basic base64(username:password)

JWT:Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Cookie

含义:客户端存储的会话信息(由服务器通过 Set-Cookie 响应头设置)。

示例:Cookie: sessionId=abc123; theme=dark

四、 请求体相关

Content-Type

含义:请求体的数据类型(仅用于POST/PUT等携带Body的请求)。

示例:

JSON数据:Content-Type: application/json

表单提交:Content-Type: application/x-www-form-urlencoded

Content-Length

含义:请求体的字节长度。

示例:Content-Length: 348

Content-Encoding

含义:请求体使用的压缩算法(如客户端压缩数据)。

示例:Content-Encoding: gzip

五、 跨域与安全

Origin

含义:请求的来源域名(用于CORS跨域请求)。

示例:Origin: https://www.example.com

Referer

含义:当前请求的来源页面的URL。

用途:防盗链、统计分析。

示例:Referer: https://www.example.com/home

Upgrade-Insecure-Requests

含义:客户端希望将HTTP资源自动升级为HTTPS(安全请求)。

示例:Upgrade-Insecure-Requests: 1

六、其他常见字段

Range

含义:请求部分内容(用于断点续传或分片下载)。

示例:Range: bytes=0-499(请求前500字节)。

DNT (Do Not Track)

含义:客户端请求不追踪用户行为(隐私保护)。

示例:DNT: 1

HTTP请求头帮助客户端与服务器高效交互,传递上下文信息(如认证、缓存、内容偏好等)。实际开发中需根据场景选择合适的头字段,例如:

缓存优化:Cache-Control、If-Modified-Since

跨域请求:Origin、Access-Control-Request-Headers

数据压缩:Accept-Encoding

安全认证:Authorization、Cookie

代码语言:txt
复制
#POST 请求示例
POST /api/data HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 ...
Content-Type: application/json
Content-Length: 34
{
  "key": "value"
}
#GET请求示例
GET/page.html
GET /page.html HTTP/1.1
Host: www.example.com
Accept: text/html
Referer: https://www.referrer.com
Cookie: session_id=abc123

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、基础字段
    • Host
    • User-Agent
    • Accept
    • Accept-Encoding
    • Accept-Language
  • 二、请求控制
    • Connection
    • Cache-Control
    • If-Modified-Since
  • 三、 认证与会话
    • Authorization
    • Cookie
  • 四、 请求体相关
    • Content-Type
    • Content-Length
    • Content-Encoding
  • 五、 跨域与安全
    • Origin
    • Referer
    • Upgrade-Insecure-Requests
  • 六、其他常见字段
    • Range
    • DNT (Do Not Track)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档