URL片段或查询中是否允许斜杠?

Kva*_*ass 3 url

我对URL的一般形式的理解是它看起来如下:

<scheme>://<host><path>?<query>#<fragment>
Run Code Online (Sandbox Code Playgroud)

查询或片段中是否可以有正斜杠?更一般地说,是否有任何专门为URL的任何部分保留的字符?

uno*_*nor 7

STD 66片段定义为:

fragment = *( pchar / "/" / "?" )

因此,除了pcharset(unreserved / pct-encoded / sub-delims / ":" / "@")中的字符之外,可以直接在片段中使用/?(即,不需要百分比编码).

/文本甚至明确提到:

字符斜杠("/")和问号("?")允许表示片段标识符内的数据.请注意,当某些较旧的错误实现用作相对引用的基URI时,它们可能无法正确处理此数据(第5.1节).


suh*_*lvs -1

当然你可以/同时使用fragmentquery

一个例子:

<a href='#vol/p'>hash example</a>

<div style='min-height:500px;'></div>
<div id='vol/p'>
    <a href='http://jsfiddle.net/echo/jsonp?weep/sho/sdf=help'>get example</a>
</div>
Run Code Online (Sandbox Code Playgroud)

jsfiddle 演示

基本上,您可以使用任何可以在 URL 中编码的内容。 更多信息