HTTP 头速查
常用 HTTP 请求/响应头说明速查。
| 名称 | 类型 | 作用 | 示例 |
|---|---|---|---|
| Accept | 请求 | 声明客户端能处理的响应内容类型 | Accept: text/html,application/json |
| Accept-Encoding | 请求 | 声明客户端支持的内容压缩编码 | Accept-Encoding: gzip, br |
| Accept-Language | 请求 | 声明客户端偏好的语言 | Accept-Language: zh-CN,zh;q=0.9 |
| Authorization | 请求 | 携带身份认证凭据(如 Bearer Token) | Authorization: Bearer <token> |
| Cookie | 请求 | 携带之前由服务端 Set-Cookie 下发的会话数据 | Cookie: sid=abc123 |
| Content-Type | 请求 | 声明请求体的媒体类型(请求与响应通用) | Content-Type: application/json; charset=utf-8 |
| Content-Length | 请求 | 声明请求体/响应体的字节长度(请求与响应通用) | Content-Length: 348 |
| User-Agent | 请求 | 标识发起请求的客户端软件(浏览器/爬虫等) | User-Agent: Mozilla/5.0 ... |
| Referer | 请求 | 声明当前请求来源的页面地址 | Referer: https://example.com/page |
| Origin | 请求 | 声明发起跨域请求的源,用于 CORS 校验 | Origin: https://example.com |
| Host | 请求 | 声明请求目标的主机名与端口 | Host: example.com |
| If-None-Match | 请求 | 配合 ETag 做协商缓存校验 | If-None-Match: "abc123" |
| If-Modified-Since | 请求 | 配合 Last-Modified 做协商缓存校验 | If-Modified-Since: Wed, 21 Oct 2024 07:28:00 GMT |
| Range | 请求 | 请求资源的指定字节范围(断点续传/分片下载) | Range: bytes=0-1023 |
| X-Requested-With | 请求 | 标识是否为 AJAX 异步请求(历史遗留约定) | X-Requested-With: XMLHttpRequest |
| X-Forwarded-For | 请求 | 经代理转发时记录原始客户端 IP 链 | X-Forwarded-For: 1.2.3.4 |
| Set-Cookie | 响应 | 服务端下发 Cookie 给客户端存储 | Set-Cookie: sid=abc123; HttpOnly; Secure |
| Cache-Control | 响应 | 控制缓存行为,也可用于请求方声明缓存要求 | Cache-Control: max-age=3600, public |
| ETag | 响应 | 资源内容的唯一标识,用于协商缓存校验 | ETag: "abc123" |
| Last-Modified | 响应 | 资源最后修改时间,用于协商缓存校验 | Last-Modified: Wed, 21 Oct 2024 07:28:00 GMT |
| Location | 响应 | 重定向(3xx)时指明新的资源地址 | Location: https://example.com/new-page |
| Access-Control-Allow-Origin | 响应 | 声明允许跨域访问该资源的源 | Access-Control-Allow-Origin: * |
| Content-Encoding | 响应 | 声明响应体实际使用的压缩编码 | Content-Encoding: gzip |
| Content-Disposition | 响应 | 指示内容以内联展示还是作为附件下载 | Content-Disposition: attachment; filename="a.pdf" |
| Strict-Transport-Security | 响应 | 强制浏览器此后只用 HTTPS 访问该域名(HSTS) | Strict-Transport-Security: max-age=31536000 |
| X-Content-Type-Options | 响应 | 禁止浏览器嗅探/篡改声明的内容类型 | X-Content-Type-Options: nosniff |
| X-Frame-Options | 响应 | 控制页面是否可被嵌入 iframe,防点击劫持 | X-Frame-Options: DENY |
| Content-Security-Policy | 响应 | 声明允许加载资源的来源策略,防 XSS 等攻击 | Content-Security-Policy: default-src 'self' |
| Server | 响应 | 声明处理请求的服务端软件信息 | Server: nginx |
| Retry-After | 响应 | 告知客户端多久后可重试请求(常配合 429/503) | Retry-After: 120 |
什么是HTTP 头速查?
HTTP头速查是一份汇总常见HTTP请求头(Request Headers)与响应头(Response Headers)含义、格式与使用场景的参考页面,比如请求头里的User-Agent(客户端标识)、Authorization(认证凭据)、Content-Type(请求体格式)、Accept-Encoding(客户端支持的压缩方式),响应头里的Content-Type、Cache-Control(缓存策略)、Set-Cookie(下发Cookie)、Access-Control-Allow-Origin(CORS跨域许可)等,帮助开发者快速核对某个头字段该怎么写、代表什么意思。
为什么使用HTTP 头速查?
做接口调试、抓包分析(Chrome DevTools Network面板、Postman、curl -v)时经常会看到一堆头字段,很多头名字相近但含义完全不同(比如Cache-Control和Expires都和缓存有关但优先级不同、Content-Length和Transfer-Encoding: chunked是互斥的两种传递body长度的方式),速查表能帮助快速判断“这个头该不该出现在这里”、“值该怎么设置”,尤其在排查跨域(CORS)、缓存不生效、认证失败这几类高频问题时很实用。
使用示例
跨域场景
浏览器发起跨域请求后,服务器响应头需要包含 Access-Control-Allow-Origin: https://example.com(或*),否则浏览器会在控制台报CORS错误并阻止前端读取响应内容,即使接口实际已经返回了数据。
缓存控制
响应头 Cache-Control: no-cache, max-age=0 表示浏览器每次都要向服务器重新验证资源是否更新(配合ETag/Last-Modified),而 Cache-Control: max-age=31536000 则表示可以直接使用本地缓存一年不必请求。
认证头
请求头 Authorization: Bearer eyJhbGciOi... 是携带JWT令牌访问需要登录接口的标准写法,服务器收到后从Bearer后面提取token做验证。
使用提示
排查HTTP相关问题时优先用浏览器DevTools的Network面板或curl -v/-I查看真实的请求/响应头,不要只凭猜测判断某个头是否生效,因为浏览器、CDN、反向代理都可能在中途修改或补充头字段。
常见问题
请求头和响应头有什么区别?
为什么有的头查不到?
数据会上传吗?
Content-Type写错了会怎样?
为什么设置了CORS头还是跨域失败?
Cache-Control和Expires哪个优先级高?
请求头和响应头可以自定义吗?
HTTP/2下头字段还是这些吗?
相关工具
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。