我正在阅读关于 URL 的RFC2396 ,上面写着
许多 URI 包括由某些特殊字符组成或由某些特殊字符分隔的组件。这些字符被称为“保留”,因为它们在 URI 组件中的使用仅限于它们的保留用途。
但是关于 url 查询部分(在 ? 和 # 之间)的部分说
3.4. 查询组件 查询组件是由资源解释的信息字符串。
query = *uric
在查询组件中,保留字符“;”、“/”、“?”、“:”、“@”、“&”、“=”、“+”、“”和“$”。
每个字符的“保留目的是什么?我了解查询中使用的 &、= 和 + 的用途,但是其他字符呢?
更实际的是,当它们在查询中时,我是否应该始终对这些字符进行 url 编码?我见过的浏览器和服务器处理 : 和 ; 和其他未经编码的字符