gpt4 book ai didi

http - 查询字符串键是否区分大小写?

转载 作者:可可西里 更新时间:2023-11-01 15:03:46 25 4
gpt4 key购买 nike

假设我有这样一个 url:

http://www.example.com?key=123&KEY=198

那么结果会怎样

request.querystring("key")

and

request.querystring("KEY")

我有点困惑。

最佳答案

The RFC for URIs说:

6.2.2.1. Case Normalization

When a URI uses components of the generic syntax, the component syntax equivalence rules always apply; namely, that the scheme and host are case-insensitive and therefore should be normalized to lowercase. For example, the URI HTTP://www.EXAMPLE.com/ is equivalent to http://www.example.com/.

The other generic syntax components are assumed to be case-sensitive unless specifically defined otherwise by the scheme (see Section 6.2.3).

请注意,方案(此处为“http”)、主机(服务器名称)不区分大小写,但无论如何都应为小写。其余部分区分大小写,除非您使用的是明确表示不区分大小写的不同方案。

因此根据规范,key 和 KEY 在所有基于 http 的 URI 中都是不同的东西。

编辑:@Nicholas 在假设权威定义了它接受的内容时部分是错误的,这对于定义自己的 URI 的自定义方案和权威来说是正确的,但是 http 是一个定义明确的规范,每个人都遵守(或者你可以有 http 查询,比如,管道字符作为分隔符。想象一下那里的困惑!)

RFC spec for HTTP说:

The scheme and host are case-insensitive and normally provided inlowercase; all other components are compared in a case-sensitivemanner. Characters other than those in the "reserved" set areequivalent to their percent-encoded octets: the normal form is tonot encode them (see Sections 2.1 and 2.2 of [RFC3986]).

因此,HTTP 方案规范定义的 URI 的查询部分区分大小写。如果 Microsoft 有一个不区分大小写的查询字符串解析器,则它不符合规范。并不是说我认为这种程度的挑剔真的很重要。

关于http - 查询字符串键是否区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24699643/

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