7
URI查询中什么是有效的,什么不是?
背景(问题进一步) 我一直在来回搜索RFC和SO问题,以试图破解它,但我仍然没有得到杰克。 所以我想我们只是投票给“最佳”答案,仅此而已? 基本上可以归结为这一点。 3.4。查询组件 查询组件是由资源解释的信息字符串。 query = *uric 在查询组件中,保留字符“;”,“ /”,“?”,“:”,“ @”,“&”,“ =“,“ +”,“,”和“ $”。 让我感到困惑的第一件事是* uric定义如下 uric = reserved | unreserved | escaped reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," 但是,这在某些段落中得到了澄清,例如 上面的“保留”语法类指的是URI中允许的那些字符,但是在通用URI语法的特定组件中可能不允许的那些字符;它们用作第3节中描述的组件的定界符。 并非在所有上下文中都保留“保留”集中的字符。在任何给定URI组件中实际保留的字符集由该组件定义。通常,如果将URI的语义更改为转义的US-ASCII编码,则保留该字符。 最后的摘录有些倒退,但是清楚地表明保留的字符集取决于上下文。但是3.4声明所有保留字符都保留在查询组件中,但是,唯一会改变此处语义的是转义问号(?),因为URI并未定义查询字符串的概念。 至此,我完全放弃了RFC,但发现RFC …