Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 哪两个分隔符可以在URL锚中使用?_Http_Url_Parsing_Anchor - Fatal编程技术网

Http 哪两个分隔符可以在URL锚中使用?

Http 哪两个分隔符可以在URL锚中使用?,http,url,parsing,anchor,Http,Url,Parsing,Anchor,我在URL中使用锚,允许人们在web应用程序中为“活动页面”添加书签。我使用了锚,因为它们很容易适应GWT历史机制 我现有的实现将导航和数据信息编码到锚中,由“-”字符分隔。即创建#位置键值键值等锚定 除了负值(如-1)会导致严重的解析问题之外,它还可以工作,但现在我发现使用两个分隔符会更好。另外,对于负数问题,我想放弃使用“-” URL锚中还有哪些字符不会干扰URL或其GET参数?这些在未来会有多稳定 查看a片段标识符(我相信您指的是)定义为 fragment = *( pchar /

我在URL中使用锚,允许人们在web应用程序中为“活动页面”添加书签。我使用了锚,因为它们很容易适应GWT历史机制

我现有的实现将导航和数据信息编码到锚中,由“-”字符分隔。即创建#位置键值键值等锚定

除了负值(如-1)会导致严重的解析问题之外,它还可以工作,但现在我发现使用两个分隔符会更好。另外,对于负数问题,我想放弃使用“-”

URL锚中还有哪些字符不会干扰URL或其GET参数?这些在未来会有多稳定

查看a片段标识符(我相信您指的是)定义为

fragment = *( pchar / "/" / "?" ) 片段=*(pchar/“/”/“?”) 来自

pchar=未保留的/pct编码的/sub-delims/“:”/“@” 无保留=字母/数字/“-”/“/”\u”/“~” sub-delims=“!”/“$”/“&/”/“/”(“/”) / "*" / "+" / "," / ";" / "=" 有趣的是,规范还说

允许字符斜杠(“/”)和问号(“?”)表示片段标识符中的数据

所以看起来真正的锚,比如

<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">