我看过很多页面,它们为 URI 提供了相同的未保留和保留字符列表,所以我很清楚允许和禁止哪些字符以及一般来说在什么上下文中。
然而,关于不同字符在 URL 的不同段中的实际含义几乎为零的文档,尤其是子分隔字符集:“!” /“$”/“&”/“'”/“(”/“)”/“*”/“+”/“”/“;” /“=”
我能够从任何来源(几个 RFC 和众多文档站点,包括其他几个 Stack Overflow 问题)中找到的唯一信息是:
- 和号和分号用于分隔查询字符串中的键值对。
- 等号用于将键与键值对中的值分开。
- 加号替换键值对值中的空格。
但这留下了“!”,“$”,“'”,“(”,“)”,“*”和“,”下落不明。那么,具体来说,它们在 HTTP 方案 URI 的上下文中做了什么?