2.2.5. Request Target (请求目标)
2.2.5. Request Target (请求目标)
@request-target 派生组成部分指 HTTP 请求消息的完整请求目标, 定义见 [HTTP] 第 7.1 节. 请求目标的组成部分值可因请求类型不同而取不同形式, 如下所述.
对 HTTP/1.1, 组成部分值等价于请求行中的请求目标部分. 然而, 在其他 HTTP 版本中可靠构造该值更为困难. 因此, 当可能使用除 1.1 以外的 HTTP 版本时, 不建议使用该组成部分.
origin 形式的值为请求 URL 的绝对路径与查询组成部分的组合.
例如, 下列请求消息:
POST /path?param=value HTTP/1.1 Host: www.example.com
将产生下列 @request-target 组成部分值:
/path?param=value
以及下列签名基行:
"@request-target": /path?param=value
下列对 HTTP 代理的请求使用 absolute-form 值, 包含完全限定的目标 URI:
GET https://www.example.com/path?param=value HTTP/1.1
将产生下列 @request-target 组成部分值:
https://www.example.com/path?param=value
以及下列签名基行:
"@request-target": https://www.example.com/path?param=value
下列 CONNECT 请求使用 authority-form 值, 包含目标的主机与端口:
CONNECT www.example.com:80 HTTP/1.1 Host: www.example.com
将产生下列 @request-target 组成部分值:
以及下列签名基行:
"@request-target": www.example.com:80
下列带星号形式 (asterisk-form) 值的 OPTIONS 请求消息, 包含单个星号 (*) 字符:
OPTIONS * HTTP/1.1 Host: www.example.com
将产生下列 @request-target 组成部分值:
以及下列签名基行:
"@request-target": *