RFC 5988的第 5 节定义了 Link 标头的语法如下:
Link = "Link" ":" #link-value
link-value = "<" URI-Reference ">" *( ";" link-param )
本规范使用RFC 822中定义的增强型 Backus-Naur 形式 (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"
空格应该是允许的吗?除了这些例子之外,我找不到任何可以提供证据的东西。