RFC 6570 URL模板:/与其他前缀的角色

时间:2012-04-29 16:36:58

标签: rfc url-template

我最近阅读了一些:http://tools.ietf.org/html/rfc6570#section-1

我找到了以下网址模板示例:

GIVEN : 
  var="value"; 
  x=1024; 
  path=/foo/bar;

{/var,x}/here         /value/1024/here  
{#path,x}/here        #/foo/bar,1024/here  

这些似乎是矛盾的。

在第一个中,似乎 / 取代了, 在第二个中,似乎保留了

因此,我想知道这个特定RFC是否存在不一致之处。我是这些RFC的新手,所以也许我并不完全理解这些开发背后的文化。

1 个答案:

答案 0 :(得分:2)

这两个例子没有矛盾。它们说明了扩展第一个字符为/的表达式的规则与扩展第一个字符为#的表达式的规则不同的要点。这些替代扩展规则几乎就是拥有各种不同的魔术主角 - 在RFC中称为运算符

带有前导/的表达式根据一条规则进行扩展,该规则表示“表达式中的每个变量都被其值替换,前面带有/字符”。 (我正在解释实际规则,该规则在RFC的第3.2.6节中描述。​​)带有前导#的表达式根据一条规则扩展,该规则说“表达式中的每个变量都被其替换值,第一个变量前面有一个#,后面的变量前面有一个,。(再次解释,参见3.2.4节的真实规则。)