1

我最近阅读了一些:https ://www.rfc-editor.org/rfc/rfc6570#section-1

我发现了以下 URL 模板示例:

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

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

这些似乎是矛盾的。

在第一个中,似乎/替换了 ,在第二个中,似乎保留了, 。

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

4

1 回答 1

2

这两个例子没有矛盾。它们说明了扩展首字符为 的表达式的/规则与扩展首字符为 的表达式的规则不同#。这些替代扩展规则几乎就是拥有各种不同的魔术前导字符的全部意义——在 RFC中称为运算符。

带有前导的表达式/根据“表达式中的每个变量都被其值替换,前面有一个/字符”的规则进行扩展。(我在解释真正的规则,该规则在该 RFC 的第 3.2.6 节中进行了描述。)带有前导的表达式#根据“表达式中的每个变量都被它的值替换,第一个以 a开头的#变量和以 . 开头的后续变量,(再次解释,请参阅第 3.2.4 节了解真实规则。)

于 2012-04-30T04:00:20.007 回答