以下网址是否应被视为功能相同?
http://example.com/foo?a=&b=
http://example.com/foo?a&b
Run Code Online (Sandbox Code Playgroud)
这是因为当我编写的Drupal模块的用户解析并重写URI时,注意到代码有时会导致查询字符串部分由于某些底层PHP函数的行为而以意想不到的方式发生变化.例如:
parse_str("a&b", $values); print http_build_query($values);
a=&b=
Run Code Online (Sandbox Code Playgroud)
这是我应该担心的事情吗?
编辑所以SO停止抱怨这个问题与另一个问题类似:问题是,假设"X的值没有"和"X的空值"是等价的,而不是"无价值"样式在语法上是否正确是否安全(它是).
RFC 3986 统一资源标识符 (URI):通用语法?除了应如何处理类似字符之外,没有任何关于查询字符串结构的说明。严格来说,您的两个示例 URL是不同的。当然,接收这些查询字符串的应用程序可能会将它们视为功能上等效的,但这不是您可以单独从 URL 确定的。
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |