Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url querystring参数名称的有效格式是什么?_Url - Fatal编程技术网

Url querystring参数名称的有效格式是什么?

Url querystring参数名称的有效格式是什么?,url,Url,问题本身就很清楚它说了什么。要强调的是,我不是在问querystring参数的值,正如所有开发人员已经知道的那样,它们应该是urlencoded的 我的问题是,queystring参数的“Name”格式是什么?它也应该像它的值一样进行URL编码吗 谢谢事实上,通过尝试和错误(也是推荐的),我在一个页面中使用了这样一个奇怪的查询字符串示例,如下所示: ?a!=1&.b=2&:c=3&+d=4&e%20f=4&h.i=5&\j=6&k+l=7

问题本身就很清楚它说了什么。要强调的是,我不是在问querystring参数的值,正如所有开发人员已经知道的那样,它们应该是urlencoded的

我的问题是,queystring参数的“Name”格式是什么?它也应该像它的值一样进行URL编码吗

谢谢

事实上,通过尝试和错误(也是推荐的),我在一个页面中使用了这样一个奇怪的查询字符串示例,如下所示:

?a!=1&.b=2&:c=3&+d=4&e%20f=4&h.i=5&\j=6&k+l=7
我得到的结果是这样的:

a! = 1
e f = 4
.b = 2
:c = 3
 d = 4
h.i = 5
\j = 6
k l = 7

因此,除了加号之外,您似乎可以使用任何字符作为querystring参数名称。

根据经验,通常命名参数就像在编程中命名变量一样。所以使用字母和数字,可能是下划线,但不能更多。有一个正式的定义,如果你想查的话,你可以查一下,但是为什么呢?一个简单的测试,如果你不确定一个特定的名字:试试看,看看服务器端会出现什么。我想这里有一个误解。我不想命名参数。问题是关于参数名的格式。i、 e.我不想为querystring参数选择名称,而是想知道验证参数名称的格式。抱歉,我仍然无法从您的问题中看出您想要验证名称。你为什么要这么做?要么这个名字有效,要么无效。你在服务器端得到了什么,尝试验证那里的东西是完全没有意义的。亲爱的朋友,假设你正在创建一个由不同类组成的库,其中一个是Querystring类。在Add(name,value)等方法中,是否允许用户根据自己的需要命名querystring参数?这就是为什么我需要验证名称。啊,好的,有道理。谢谢在问题中告诉你想要验证名称并添加提示说明原因也是有意义的。当你想得到好的答案时,这些细节确实很有帮助:-)正如前面提到的,这有一个正式的定义。因为您想创建一个库,所以对此感兴趣。一个简单的谷歌搜索会显示相关的RFC:好吧,这实际上取决于您使用的环境。你不能对那件事作一般性的规定!不同的浏览器和服务器端组件将处理不同的事情。这就是为什么我对上面的命名提出了一个“保守”的建议。这是真的。浏览器和服务器端技术之间存在差异。浏览器可能会以不同的方式向服务器发送查询字符串,而在服务器端,框架可能会以不同的方式处理查询字符串。这就是为什么我要为querystring参数的名称寻找正确的格式或标准。如果我指定了一个服务器端框架,我提出的问题可能会更正确,例如“在ASP.NET、PHP或Ruby中,诸如此类的东西的格式是什么”。但我认为最好的办法是看看在这个问题上有什么标准或规则。谢谢你的帮助。请看我对你问题的评论。