【发布时间】:2018-06-20 03:32:43
【问题描述】:
RFC 5988 的第 5 节定义了 Link 标头的语法如下:
Link = "Link" ":" #link-value
link-value = "<" URI-Reference ">" *( ";" link-param )
本规范使用RFC 822 中定义的增强巴科斯-瑙尔形式 (BNF)。
如果正确理解 BNF,规范不允许分号 (;) 和 link-param 之间存在空格。但是,在第 5 节中出现的示例中,两个元素之间存在空格:
Link: <http://example.com/TheBook/chapter2>; rel="previous";
title="previous chapter"
Link: </>; rel="http://example.net/foo"
我还在 Github 的 API 中的 Link 标头中观察到空格,我认为这是更符合标准的 API 之一:
$ curl -s -I https://api.github.com/users/mitsuhiko/repos
...
Link: <https://api.github.com/user/7396/repos?page=2>; rel="next", <https://api.github.com/user/7396/repos?page=7>; rel="last"
应该允许空格吗?除了这些例子,我找不到任何可以提供证据的东西。
【问题讨论】:
标签: http http-headers bnf rfc822 rfc5988