我对URL的一般形式的理解是它看起来如下:
:// ? #
查询或片段中是否可以有正斜杠?更一般地说,是否有任何专门为URL的任何部分保留的字符?
STD 66将片段定义为:
fragment = *( pchar / "/" / "?" )
因此,除了pchar
set(unreserved / pct-encoded / sub-delims / ":" / "@"
)中的字符之外,可以直接在片段中使用/
和?
(即,不需要百分比编码).
该/
文本甚至明确提到:
字符斜杠("/")和问号("?")允许表示片段标识符内的数据.请注意,当某些较旧的错误实现用作相对引用的基URI时,它们可能无法正确处理此数据(第5.1节).