【第三方网站代码登记测试_HTTP头语法代码详解】

HTTP 头部是 HTTP 协议的重要组成部分,它允许客户端和服务器在请求和响应中传递附加信息,这对于控制通信行为、定义内容格式、实施安全策略等都相当重要。

HTTP 头部概述

HTTP 头部是位于 HTTP 请求或响应起始行之后、消息体之前的一系列键值对。它们与消息体之间以一个空行分隔。

语法:Header-Name: value1, value2, ...

头部名称不区分大小写,但惯例使用连字符分隔的单词,如 Content-Type。

值可以是单个值,也可以是由逗号分隔的多个值。

分类:根据上下文,头部可分为:

请求头:由客户端发送,包含关于请求和客户端本身的信息。

响应头:由服务器发送,包含关于响应和服务器本身的信息。

通用头:既可出现在请求中,也可出现在响应中。

实体头:描述消息体内容的元数据(在 HTTP/2 及以后规范中,此概念已被"表示头"部分取代)。

请求头详解

这些头部由客户端设置,告知服务器客户端的能力、期望及请求的上下文。

Host

描述:指定请求的目标服务器域名和端口号。这是 HTTP/1.1 唯一必须的请求头。

用途:当一台服务器托管多个域名(虚拟主机)时,服务器依赖此头部来区分请求应路由到哪个网站。

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

User-Agent

描述:包含发起请求的应用程序(浏览器、爬虫、SDK等)的标识信息。

用途:服务器可用于统计、兼容性处理(如返回特定于浏览器的代码)或反爬虫策略。

示例:User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...

Accept

描述:告知服务器客户端能够处理的媒体类型(MIME 类型)及其优先级。

用途:内容协商。服务器根据此头部返回最合适的格式(如 JSON、XML、HTML)。

示例:

Accept: application/json (只接受 JSON)

Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8 (优先 HTML,其次是 XHTML、XML,最后是任何类型。q 值表示权重,范围 0-1)

Accept-Encoding

描述:告知服务器客户端支持的内容压缩算法。

用途:减少传输数据量,提升性能。

示例:Accept-Encoding: gzip, deflate, br (支持 gzip、deflate 和 Brotli 压缩)

Authorization

描述:包含用于向服务器证明身份的凭证。

用途:认证。

常见模式:

Bearer Token:Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Basic Auth:Authorization: Basic base64(username:password)

API Key:Authorization: Api-Key xxxxxx

Content-Type

描述:在带有消息体的请求(如 POST, PUT)中,指定请求体的媒体类型。

用途:告知服务器如何解析请求体。

示例:

Content-Type: application/json (JSON 数据)

Content-Type: application/x-www-form-urlencoded (表单数据)

Content-Type: multipart/form-data; boundary=something (用于文件上传)

Content-Length

描述:以字节为单位,指明请求体的长度。

用途:服务器据此知道需要读取多少数据。对于没有消息体的请求(如 GET),不应存在此头部。

响应头详解

这些头部由服务器设置,描述了响应的特性,并指导客户端如何处理响应。

Server

描述:包含处理请求的服务器软件信息。

用途:用于信息展示,但出于安全考虑,生产环境常被隐藏。

示例:Server: nginx/1.18.0

Content-Type

描述:告知客户端响应体的实际媒体类型。

用途:客户端(如浏览器)据此决定如何渲染或处理内容。

示例:Content-Type: application/json; charset=utf-8

Content-Length

描述:以字节为单位,指明响应体的长度。

用途:客户端据此知道需要读取多少数据。

Content-Encoding

描述:表明对响应体使用了何种压缩编码。

用途:客户端需要据此解压。

示例:Content-Encoding: gzip

Cache-Control

描述:最重要的缓存控制头,用于指定请求/响应链中的所有缓存机制都必须遵守的指令。

常用指令

public:响应可被任何缓存存储。

private:响应仅适用于单个用户,不能被共享缓存(如 CDN)存储。

no-cache:在使用缓存的副本前,必须向源服务器验证其有效性。

no-store:禁止任何缓存存储请求和响应。

max-age=<seconds> :资源被视为新鲜的最长时间。

示例:Cache-Control: public, max-age=3600 (缓存 1 小时)

ETag / Last-Modified

描述:验证器头部。ETag 是资源的特定版本标识符(通常是哈希值)。Last-Modified 表示资源最后修改时间。

用途:用于条件请求。客户端下次请求时,可带上 If-None-Match(值为 ETag)或 If-Modified-Since(值为 Last-Modified)。如果资源未变,服务器返回 304 Not Modified,节省带宽。

Location

描述:与 3xx 重定向响应或 201 Created 响应配合使用,指定重定向的目标 URL 或新创建资源的 URL。

示例:Location: /new-page.html

Set-Cookie

描述:由服务器发送,用于在客户端(浏览器)设置一个 Cookie。

属性:

Name=Value:必需的键值对。

Expires/Max-Age:定义 Cookie 的有效期。

Domain / Path:定义 Cookie 的作用范围。

HttpOnly:阻止 JavaScript 访问此 Cookie,有助于缓解 XSS 攻击。

Secure:仅通过 HTTPS 协议发送 Cookie。

SameSite:控制跨站请求时是否发送 Cookie,用于缓解 CSRF 攻击。

示例:Set-Cookie: sessionId=abc123; Expires=Wed, 21 Oct 2025 07:28:00 GMT; HttpOnly; Secure; SameSite=Lax

安全头详解

这些头部对于保护网站和用户免受常见网络攻击很重要。

Strict-Transport-Security

描述:告诉浏览器在指定时间内,只能通过 HTTPS 访问该域名。

用途:防止 SSL 剥离攻击。

示例:Strict-Transport-Security: max-age=31536000; includeSubDomains

Content-Security-Policy

描述:内容安全策略。通过白名单机制,限制页面可以加载哪些来源的资源(脚本、样式、图片、字体等)。

用途:非常有效地缓解 XSS 和数据注入攻击。

示例:Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com

X-Content-Type-Options

描述:指示浏览器不要嗅探 MIME 类型,必须遵循 Content-Type 头中声明的类型。

用途:防止 MIME 类型混淆攻击。

示例:X-Content-Type-Options: nosniff

X-Frame-Options

描述:控制页面是否可以在 <frame>, <iframe>, <embed> 或 <object> 中显示。

用途:防止点击劫持攻击。

示例:X-Frame-Options: DENY (完全禁止被嵌入)

Access-Control-Allow-Origin

描述:CORS(跨源资源共享) 头。指定哪些外域可以访问该资源。

用途:解除浏览器的同源策略限制,实现安全的跨域访问。

示例:

Access-Control-Allow-Origin: https://partner.com (允许特定域名)

Access-Control-Allow-Origin: * (允许所有域名,不推荐用于携带凭证的请求)

自定义头

开发者可以创建自定义头部,通常以 X- 为前缀(非强制)。

示例:

X-Request-ID:用于追踪一个请求在不同服务间的流转。

X-CSRF-Token:用于防止跨站请求伪造攻击。

X-RateLimit-Limit:用于 API 限流,告知客户端在特定时间窗口内的请求上限。

精通 HTTP 头部是进行 API 设计、调试、性能优化和安全加固的基础。理解每个头部的语义和用途,能够帮助你更有效地构建和维护 Web 应用。

文章来源:卓码软件测评

精彩推荐:点击蓝字即可

软件登记测试:外部接口兼容性测试https://www.zmtests.com/skillarticle/20251010135842315

WebAPP应用第三方JavaScript库安全风险检测https://www.zmtests.com/skillarticle/20250829142653413

WEB应用搜索功能的安全测试SQL注入与逻辑漏洞https://www.zmtests.com/skillarticle/20250828112352373

相关推荐
奇树谦3 小时前
Fast DDS 默认传输机制详解:共享内存与 UDP 的智能选择
网络·网络协议·udp·fastdds
缘华工业智维9 小时前
工业设备预测性维护:能源成本降低的“隐藏钥匙”?
大数据·网络·人工智能
安当加密9 小时前
达梦数据库TDE透明加密解决方案:构建高安全数据存储体系
网络·数据库·安全
wuxuanok11 小时前
WebSocket —— 在线聊天室
网络·websocket·网络协议
安当加密11 小时前
构建高安全堡垒机登录体系:RADIUS + 动态口令实践
网络·安全
我言秋日胜春朝★14 小时前
【Linux网络编程】多路转接reactor——ET模式的epoll
linux·服务器·网络
_清浅15 小时前
计算机网络【第五章-传输层】
网络
焦思懿--19期--工职大16 小时前
VMWare和物理机之间文件传输
linux·服务器·网络·电脑
爱偷懒的。。16 小时前
基于 WebSocket 协议的实时弹幕通信机制分析-抖音
网络·python·websocket·网络协议·学习·js