Http 哪两个分隔符可以在URL锚中使用?
我在URL中使用锚,允许人们在web应用程序中为“活动页面”添加书签。我使用了锚,因为它们很容易适应GWT历史机制 我现有的实现将导航和数据信息编码到锚中,由“-”字符分隔。即创建#位置键值键值等锚定 除了负值(如-1)会导致严重的解析问题之外,它还可以工作,但现在我发现使用两个分隔符会更好。另外,对于负数问题,我想放弃使用“-” URL锚中还有哪些字符不会干扰URL或其GET参数?这些在未来会有多稳定 查看a片段标识符(我相信您指的是)定义为 fragment = *( pchar / "/" / "?" ) 片段=*(pchar/“/”/“?”) 来自 pchar=未保留的/pct编码的/sub-delims/“:”/“@” 无保留=字母/数字/“-”/“/”\u”/“~” sub-delims=“!”/“$”/“&/”/“/”(“/”) / "*" / "+" / "," / ";" / "=" 有趣的是,规范还说 允许字符斜杠(“/”)和问号(“?”)表示片段标识符中的数据 所以看起来真正的锚,比如Http 哪两个分隔符可以在URL锚中使用?,http,url,parsing,anchor,Http,Url,Parsing,Anchor,我在URL中使用锚,允许人们在web应用程序中为“活动页面”添加书签。我使用了锚,因为它们很容易适应GWT历史机制 我现有的实现将导航和数据信息编码到锚中,由“-”字符分隔。即创建#位置键值键值等锚定 除了负值(如-1)会导致严重的解析问题之外,它还可以工作,但现在我发现使用两个分隔符会更好。另外,对于负数问题,我想放弃使用“-” URL锚中还有哪些字符不会干扰URL或其GET参数?这些在未来会有多稳定 查看a片段标识符(我相信您指的是)定义为 fragment = *( pchar /
<a href="#name?a=1&b=2">
....
<a name="name?a=1&b=2">
#fake=2和parameters=3
没有问题(例如,片段中的'parameters'变量不应干扰查询字符串中的变量)
必要时还可以使用百分比编码。。。在sub delims中定义了许多其他字符,这些字符可以使用
注:
同样来自规范:
片段标识符组件由数字符号(#)字符表示,并以URI结尾终止
因此,#之后的所有内容都是片段标识符,不应该干扰GET参数。您的第一个示例不应该被解释为“name”的锚,以及两个参数a和b吗?第二个例子合法吗?@Paul:不,因为根据规范,url中#之后的所有内容都被认为是片段标识符。正常的URL参数必须在#之前进行编码,那么应该工作吗?见鬼,这比那些讨厌的破折号好多了:-)@Paul:应该可以用的(从我在机器上看到的情况来看,它确实可以用)谢谢Daniel,我会编辑我的代码,所以我会在几(工作)天内更新它。我喜欢使用“&”和“=”作为sep的想法。
<a href="#name?a=1&b=2">
....
<a name="name?a=1&b=2">