URL片段或查询中是否允许使用斜杠?
我对URL的一般形式的理解是,它如下所示:URL片段或查询中是否允许使用斜杠?,url,Url,我对URL的一般形式的理解是,它如下所示: <scheme>://<host><path>?<query>#<fragment> :/# 查询或片段中是否有任何正斜杠?更一般地说,是否有专门为URL的任何单个部分保留的字符?当然,您可以在片段和查询中使用/ 例如: <a href='#vol/p'>hash example</a> <div style='min-height:500px;'>&
<scheme>://<host><path>?<query>#<fragment>
:/#
查询或片段中是否有任何正斜杠?更一般地说,是否有专门为URL的任何单个部分保留的字符?当然,您可以在
片段和查询中使用/
例如:
<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>
基本上,您可以使用任何可以在URL中编码的内容。
片段可以包含任何字符
查询可以包含除#
之外的任何字符,因为它被视为标记(但您可以使用URL编码将其保留在那里)
因此,一般来说,只要没有歧义,就不存在任何保留字符
有关最新信息,请参阅。您的“一般形式”不完全正确STD 66将以下内容定义为:
fragment=*(pchar/“/”/“?”)
因此,除了pchar
集合中的字符(unreserved/pct-encoded/sub-delims/“:“/”@“
)之外,/
和?
可以直接用于片段中(即,不需要百分比编码)
/
甚至在正文中明确提到:
字符斜杠(“/”)和问号(“?”)可以表示片段标识符中的数据。请注意,当数据用作相对引用的基本URI时,一些旧的、错误的实现可能无法正确处理这些数据(第5.1节)