POST请求相关请求头参数汇总
以下是常见的 POST 请求头中的一些参数及简介
文中内容仅为笔者自己整理,不代表所有参数,还有一些参数未收录其中,欢迎各位大佬留言补充,谢谢!
目录
POST请求相关请求头参数汇总以下是常见的 POST 请求头中的一些参数及简介Content-Type:User-Agent:Authorization:Accept:Referer:Connection:Host:Cache-Control:Content-Length:Cookie:If-Modified-Since:If-None-Match:Origin:X-Requested-With:Accept-Language:Accept-Encoding:Range:TE(Transfer-Encoding):Via:Expect:Pragma:DNT(Do Not Track):X-Forwarded-For:X-Forwarded-Proto:X-Forwarded-Host:X-Requested-With:If-Match:If-Unmodified-Since:Access-Control-Request-Method:Access-Control-Request-Headers:Max-Forwards:Upgrade-Insecure-Requests:Sec-Fetch-Mode:Sec-Fetch-Site:Sec-Fetch-User:Sec-Fetch-Dest:X-Content-Type-Options:X-XSS-Protection:X-Powered-By:X-Aspnet-Version:X-Robots-Tag:From:Referrer-Policy:Trailer:Accept-Charset:Accept-Datetime:Warning:Proxy-Authorization:Retry-After:Forwarded:Purpose:Sec-Fetch-Dest:Sec-Fetch-Site:Tk:Content-Disposition:X-Requested-With:X-CSRF-Token:X-API-Key:Expect-CT:Feature-Policy:Timing-Allow-Origin:Content-Security-Policy-Report-Only:Cross-Origin-Embedder-Policy和Cross-Origin-Opener-Policy:X-Correlation-ID:X-Request-ID:X-Auth-Token:X-Custom-Header:If-Range:X-Frame-Options:Content-Range:X-DNS-Prefetch-Control:X-Download-Options:X-Permitted-Cross-Domain-Policies:X-Requested-With-SSL:X-Proxy-User-ID:X-Source-ID:X-Transaction-ID:X-Client-IP:X-User-Agent-Details:X-Session-ID:X-Requested-Resource-Type:X-Service-Version:X-Callback-URL:X-Priority:X-Request-Timestamp:X-Request-Context:X-Request-Signature:X-Request-Encoding:X-Request-Language:X-Request-Idempotency-Key:X-Request-Source:X-Request-Duration:X-Request-Resource-Identifier:X-Request-Correlation-Token:X-Request-Feature-Flag:X-Request-Security-Token:X-Request-Client-Version:X-Request-Trace-ID:X-Request-Subject:X-Request-Data-Signature:X-Request-Tenant-ID:
Content-Type:
指示提交的数据类型。例如,“application/json” 表示提交的是 JSON 格式的数据;“application/x-www-form-urlencoded” 表示传统的表单数据编码格式;“multipart/form-data” 通常用于文件上传等包含多种数据类型的情况。
User-Agent:
用来标识发出请求的客户端软件信息,包括浏览器类型、版本、操作系统等。这有助于服务器识别客户端的特性并作出相应的响应。
Authorization:
用于提供身份验证信息,常见的有 Basic 认证、Bearer Token 等方式。服务器可以根据这个头信息来验证请求者的身份和权限。
Accept:
表明客户端期望接收的响应内容类型。例如,“application/json” 表示客户端希望接收 JSON 格式的响应数据。
Referer:
指示请求的来源页面地址。可以帮助服务器了解请求的上下文来源。
Connection:
指定连接的行为,比如 “keep-alive” 表示保持连接以进行后续请求,提高性能;“close” 表示请求完成后关闭连接。
Host:
指定目标服务器的主机名和端口号。这对于服务器正确处理请求非常重要。
Cache-Control:
用于控制缓存行为,可以指示客户端或中间代理是否应该缓存响应以及如何缓存。
Content-Length:
表示请求主体的长度(以字节为单位)。服务器可以根据这个值确定请求主体的结束位置。
Cookie:
包含由服务器先前设置并存储在客户端的 cookie 信息。这些 cookie 可以用于会话管理、用户身份识别等。
If-Modified-Since:
如果客户端缓存了资源,此参数可用于检查资源自指定时间以来是否被修改过。如果没有被修改,服务器可以返回一个状态码为 304 的响应,表示未修改,从而减少传输的数据量。
If-None-Match:
与资源的唯一标识符(ETag)一起使用,类似于 “If-Modified-Since”,用于检查资源是否发生变化。
Origin:
指示发出请求的源(协议、域名和端口)。在跨源请求中经常使用,用于告知服务器请求的来源。
X-Requested-With:
通常用于标识请求是由 Ajax 发起的。常见的值是 “XMLHttpRequest”。
Accept-Language:
表明客户端期望接收的响应语言。服务器可以根据这个参数返回适合客户端语言偏好的内容。
Accept-Encoding:
指定客户端能够接受的编码方式,例如 “gzip”“deflate” 等。服务器可以根据这个参数对响应内容进行压缩传输,以提高传输效率。
Range:
用于请求部分内容,通常在断点续传等场景中使用。例如 “bytes=0-999” 表示请求资源的前 1000 个字节。
TE(Transfer-Encoding):
指定传输编码方式,比如 “chunked” 表示分块传输编码。
Via:
用于追踪消息转发的路径,记录请求经过的代理和网关等中间设备。
Expect:
表明客户端对服务器的特定行为期望。例如 “Expect: 100-continue” 用于在发送较大的请求主体之前,先询问服务器是否愿意接收请求。
Pragma:
可能包含一些特定的指令,如 “no-cache” 用于指示缓存不要使用已缓存的副本。
DNT(Do Not Track):
如果客户端设置了 “不跟踪” 选项,这个请求头会被发送以告知服务器不要跟踪用户行为。
X-Forwarded-For:
当请求经过代理服务器时,代理服务器可以用这个头来传递客户端的真实 IP 地址。它通常包含一连串的 IP 地址,代表请求经过的各个节点。
X-Forwarded-Proto:
指示客户端发起请求时使用的协议(如 HTTP 或 HTTPS),在经过代理时很有用。
X-Forwarded-Host:
记录原始请求中的主机名,在经过多个代理时保持主机信息的准确性。
X-Requested-With:
通常用于标识请求是由特定的技术(如 XMLHttpRequest 表示 Ajax 请求)发起的。
If-Match:
与资源的特定版本标识(如 ETag)一起使用,用于条件请求。只有当资源的版本与指定的标识匹配时,服务器才执行请求的操作。
If-Unmodified-Since:
类似于 “If-Modified-Since”,但检查的是资源自指定时间以来是否未被修改过。如果资源在指定时间之后被修改了,服务器将返回适当的错误状态码。
Access-Control-Request-Method:
在跨源资源共享(CORS)中使用,用于预检请求(preflight request),表明实际请求将使用的 HTTP 方法。
Access-Control-Request-Headers:
同样在 CORS 预检请求中使用,列出实际请求中将会包含的自定义请求头。
Max-Forwards:
主要用于限制请求在网络中转发的次数,通常在特定的网络架构或调试场景中使用。
Upgrade-Insecure-Requests:
用于指示客户端希望将当前请求从 HTTP 升级到 HTTPS,如果服务器支持的话。
Sec-Fetch-Mode:
在浏览器的安全相关请求中使用,指示请求的模式,如 “navigate”(导航请求)、“cors”(跨源请求)等。
Sec-Fetch-Site:
表明请求的来源与目标站点的关系,如 “same-origin”(同源)、“cross-site”(跨站)等。
Sec-Fetch-User:
表示请求是否与用户交互相关,如 “?1” 表示与用户交互,“?0” 表示非交互。
Sec-Fetch-Dest:
指定请求的目的地类型,如 “document”(文档)、“image”(图像)等。
X-Content-Type-Options:
可以设置为 “nosniff”,用于防止浏览器基于内容猜测 MIME 类型,强制使用服务器指定的类型。
X-XSS-Protection:
用于开启或关闭浏览器的跨站脚本攻击(XSS)防护机制。
X-Powered-By:
有时会被服务器或某些框架用来表明服务器端使用的技术栈信息,但出于安全考虑,很多情况下不建议设置这个头。
X-Aspnet-Version:
在使用 ASP.NET 技术的服务器中可能出现,用于指示 ASP.NET 的版本号。
X-Robots-Tag:
可以用于指示搜索引擎爬虫如何处理该页面,例如 “noindex” 表示不索引该页面,“nofollow” 表示不跟踪该页面上的链接。
From:
很少使用,理论上可以用来标识请求的发起者的电子邮件地址等信息。
Referrer-Policy:
用于指定在请求中如何设置 Referer 请求头的值,例如 “no-referrer” 表示不发送 Referer 头,“same-origin” 表示仅在同源请求中发送等。
Trailer:
可以用于指示在消息末尾包含特定的 HTTP 头字段。通常与分块传输编码一起使用。
Accept-Charset:
表明客户端可以接受的字符集。例如 “utf-8”“iso-8859-1” 等。
Accept-Datetime:
客户端可以接受的响应时间范围。如果服务器无法在指定时间内生成响应,可能返回不同的状态码。
Warning:
服务器可以使用这个头向客户端发送关于请求或响应的警告信息。
Proxy-Authorization:
当请求通过代理服务器时,用于向代理服务器提供身份验证信息。
Retry-After:
服务器可以在响应中使用这个头来指示客户端在多久之后可以重新尝试请求。例如,在服务器暂时不可用的情况下。
Forwarded:
类似于 “X-Forwarded-For” 等,用于传递请求经过的信息,包括客户端 IP、协议、端口等。
Purpose:
在一些特定的安全或隐私相关的场景中,可能用于表明请求的特定目的,例如 “prefetch”(预取)、“navigate”(导航)等。
Sec-Fetch-Dest:
进一步细化请求的目的地类型,比如 “script”(脚本)、“style”(样式表)等。
Sec-Fetch-Site:
除了之前提到的几种关系外,还可能有 “none”(与任何站点都无特定关系)等取值。
Tk:
在某些特定的跟踪或认证系统中可能使用的自定义头字段。
Content-Disposition:
虽然这个通常在响应头中用于指示内容如何展示或下载,但在某些特殊情况下也可能出现在 POST 请求头中,尤其是在涉及文件上传或特定数据提交格式的场景中,例如 “form-data; name="file"; filename="example.txt"”。
X-Requested-With:
除了用于标识 Ajax 请求外,一些特定的框架或技术可能会赋予它不同的含义或使用方式。
X-CSRF-Token:
用于防止跨站请求伪造攻击,通常在表单提交等场景中,客户端会将服务器生成的 CSRF 令牌包含在这个请求头中。
X-API-Key:
在一些使用 API 密钥进行身份验证或授权的场景中,客户端可能将 API 密钥放在这个请求头中提交给服务器。
Expect-CT:
用于客户端向服务器表明它期望接收证书透明度(Certificate Transparency)信息。
Feature-Policy:
可用于控制浏览器的各种功能,例如摄像头、麦克风等的使用权限。虽然通常在响应头中出现,但在某些特定场景下也可能在请求头中出现以传达客户端的偏好或要求。
Timing-Allow-Origin:
用于控制哪些来源可以访问资源的性能时间线信息。
Content-Security-Policy-Report-Only:
类似内容安全策略(CSP)头,但以报告模式运行,用于检测潜在的安全问题而不强制阻止请求。
Cross-Origin-Embedder-Policy和Cross-Origin-Opener-Policy:
在跨源资源共享和安全隔离的场景下可能出现,用于控制资源的加载和访问权限。
X-Correlation-ID:
通常用于在分布式系统中跟踪和关联不同请求,以便进行故障排查和性能分析。
X-Request-ID:
与 X-Correlation-ID 类似,用于唯一标识一个请求,方便在系统中进行请求追踪。
X-Auth-Token:
用于传递身份验证令牌,在一些自定义的认证机制中可能会使用。
X-Custom-Header:
这是一个自定义的请求头名称示例,开发人员可以根据特定需求创建和使用自定义请求头来传递特定的信息。
If-Range:
用于条件请求,结合实体标签(ETag)或最后修改时间,确保在资源未被修改的情况下只返回部分内容。
X-Frame-Options:
通常用于控制网页是否可以被嵌入到 iframe 中。虽然更多见于响应头,但在某些特殊情况下也可能在请求头中出现。
Content-Range:
在进行部分内容的 POST 请求(如断点续传)时可能出现,用于指示请求的内容范围。
X-DNS-Prefetch-Control:
用于控制浏览器对域名的 DNS 预解析行为。
X-Download-Options:
在某些特定的下载场景中可能被使用,用于控制下载行为。
X-Permitted-Cross-Domain-Policies:
用于指定跨域策略。
X-Requested-With-SSL:
在一些对安全连接有特定要求的场景下,可能用于标识请求是通过 SSL 连接发起的。
X-Proxy-User-ID:
如果请求经过代理服务器,代理可能添加这个头来传递用户身份信息。
X-Source-ID:
用于标识请求的来源系统或模块的唯一标识符,有助于在复杂系统中进行请求追踪和分析。
X-Transaction-ID:
类似前面提到的请求 ID 和关联 ID,用于唯一标识一个事务性的请求,方便进行审计和故障排查。
X-Client-IP:
用于传递客户端的 IP 地址信息,尤其是在经过多层代理等情况下,可用于更准确地确定原始请求者的 IP。
X-User-Agent-Details:
可能包含更详细的客户端软件信息,比如特定版本的插件、扩展等。
X-Session-ID:
用于标识客户端的会话,在一些需要保持会话状态的交互中可能出现。
X-Requested-Resource-Type:
表明请求的资源类型,比如图像、文档等,有助于服务器进行更精确的处理。
X-Service-Version:
如果请求是针对特定服务的,这个参数可能用于指示客户端所期望的服务版本。
X-Callback-URL:
在某些异步请求场景中,客户端可能提供一个回调 URL,服务器在处理完请求后可以向这个 URL 发送通知。
X-Priority:
可以用来表示请求的优先级,例如高、中、低等,以便服务器在处理多个请求时进行优先级排序。
X-Request-Timestamp:
记录请求发起的时间戳,可用于时间相关的分析和处理。
X-Request-Context:
可以用来传递关于请求的特定上下文信息,比如业务流程、用户角色等。
X-Request-Signature:
在一些需要对请求进行数字签名以确保完整性和真实性的场景中可能出现。
X-Request-Encoding:
指定请求主体的特殊编码方式,如果不是常见的编码。
X-Request-Language:
除了常见的 “Accept-Language” 外,这个参数可能用于更具体地指定请求相关的语言需求。
X-Request-Idempotency-Key:
在一些需要确保请求幂等性的场景中使用,用于唯一标识一个可重复提交的请求。
X-Request-Source:
用于指示请求的发起源头,比如是来自移动应用、桌面软件还是网页等。
X-Request-Duration:
可能用于表示客户端预期请求处理的最大时长。
X-Request-Resource-Identifier:
可以用来标识请求所针对的特定资源的唯一标识符。
X-Request-Correlation-Token:
类似于其他关联标识符,可用于在分布式系统中跟踪和关联多个相关请求。
X-Request-Feature-Flag:
在一些具有可配置功能开关的系统中,可能用于传递特定功能是否启用的标志。
X-Request-Security-Token:
用于传递额外的安全令牌信息,增强请求的安全性。
X-Request-Client-Version:
指示发出请求的客户端软件的具体版本号。
X-Request-Trace-ID:
用于在复杂的分布式系统中跟踪请求的路径,方便进行故障排查和性能分析。
X-Request-Subject:
在某些涉及权限管理或身份认证的场景下,可能用于指定请求的主体信息。
X-Request-Data-Signature:
如果请求中的数据经过数字签名,这个参数可以传递签名信息以供服务器验证。
X-Request-Tenant-ID:
在多租户系统中,用于标识发出请求的租户。