gpt4 book ai didi

http - Fiddler 在冒号后添加空格

转载 作者:可可西里 更新时间:2023-11-01 17:02:28 25 4
gpt4 key购买 nike

我在 Fiddler2 中发出这样的请求

User-Agent: Fiddler
Host: asdf.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Key=asdf:qwer

当我点击 Execute 时,Fiddler 将最后一行编辑为:

Key=asdf: qwer

注意额外的空间。

为什么会发生这种情况,是否会导致我的请求出现问题?

最佳答案

RFC 2616, 4.2 Message Headers:

Each header field consistsof a name followed by a colon (":") and the field value. Field namesare case-insensitive. The field value MAY be preceded by any amountof LWS, though a single SP is preferred.

[...]

The field-content does not include any leading or trailing LWS:linear white space occurring before the first non-whitespacecharacter of the field-value or after the last non-whitespacecharacter of the field-value. Such leading or trailing LWS MAY beremoved without changing the semantics of the field value. Any LWSthat occurs between field-content MAY be replaced with a single SPbefore interpreting the field value or forwarding the messagedownstream.

换句话说:字段值将忽略前导空格,甚至首选空格。当您确实想要发送空间时,您必须quote the string : Some-Header: "foo".

因此,Fiddler 很高兴能像那样显示(并可能发送)它,尽管不希望那里有空间的自定义 HTTP 服务器出现故障,应该进行修复。

关于服务器返回的“无效 header 名称”错误的评论:HTTP header 定义如下:

message-header = field-name ":" [ field-value ]
field-name     = token
field-value = [...]

如您所见,field-name 只能存在于 token 中,它不包括 =(因为它是一个分隔符)。

因此,您使用的 header 名称 Key=asdf 无效,并且由于语法格式错误,服务器会抛出 400 Bad Request。您声称获得的更具体的 Invalid header name 听起来像是您在 IIS 中运行您的网站。例如,将 = 更改为 -,您会发现它会起作用。

关于http - Fiddler 在冒号后添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20517897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com