gpt4 book ai didi

url - 为什么像@、$、:, 和; 这样的字符url 查询组件中的保留字符?

转载 作者:行者123 更新时间:2023-12-04 19:15:29 27 4
gpt4 key购买 nike

我在看 RFC2396在网址上说

Many URI include components consisting of or delimited by, certain special characters. These characters are called "reserved", since their usage within the URI component is limited to their reserved purpose.



但是关于 url 查询部分的部分(在 ? 和 # 之间)说

3.4. Query Component The query component is a string of information to be interpreted by the resource.

query         = *uric

Within a query component, the characters ";", "/", "?", ":", "@", "&", "=", "+", ",", and "$" are reserved.



每个这些字符的“保留用途”是什么?我了解查询中使用的 &、= 和 +,但其他字符呢?

更实际的是,我应该总是在查询中对这些字符进行 url 编码吗?我见过的浏览器和服务器处理 : 和 ;和其他未编码的字符

最佳答案

我认为 RFC 3986 的第 2.2 节, 已过时 RFC 2396 , 有一个
可能的解释。我引用:

These characters are called "reserved" because they may (or may not) bedefined as delimiters by the generic syntax, by each scheme-specific syntax, orby the implementation-specific syntax of a URI's dereferencing algorithm.


我认为 Berners-Lee 等人。试图到达这里的是,即使
并非所有保留字符都用于
RFC,作者希望为 future 的方案或
实现特定的代码,以便能够像他们看到的那样使用这些字符
合身。
至于你是否应该对这些字符进行编码,我的意见是你应该
研究和使用 Percent-Encoding Algorithm遵循标准
不要使用非标准的或尝试自己动手。例如,如果你
正在使用像 C# 或 Python 这样的语言,然后是那些附带的库
语言包括符合标准的算法实现。更多
详细信息,请参阅 RFC 3986 的第 2.4 节涵盖何时编码或解码。

关于url - 为什么像@、$、:, 和; 这样的字符url 查询组件中的保留字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9615387/

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