RFC Errata
RFC 5988, "Web Linking", October 2010
Note: This RFC has been obsoleted by RFC 8288
Source of RFC: IETF - NON WORKING GROUPArea Assignment: app
Errata ID: 3158
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT
Reported By: Julian Reschke
Date Reported: 2012-03-19
Held for Document Update by: Peter Saint-Andre
Section 5. says:
Link = "Link" ":" #link-value link-value = "<" URI-Reference ">" *( ";" link-param ) link-param = ( ( "rel" "=" relation-types ) | ( "anchor" "=" <"> URI-Reference <"> ) | ( "rev" "=" relation-types ) | ( "hreflang" "=" Language-Tag ) | ( "media" "=" ( MediaDesc | ( <"> MediaDesc <"> ) ) ) | ( "title" "=" quoted-string ) | ( "title*" "=" ext-value ) | ( "type" "=" ( media-type | quoted-mt ) ) | ( link-extension ) ) link-extension = ( parmname [ "=" ( ptoken | quoted-string ) ] ) | ( ext-name-star "=" ext-value ) ext-name-star = parmname "*" ; reserved for RFC2231-profiled ; extensions. Whitespace NOT ; allowed in between. ptoken = 1*ptokenchar ptokenchar = "!" | "#" | "$" | "%" | "&" | "'" | "(" | ")" | "*" | "+" | "-" | "." | "/" | DIGIT | ":" | "<" | "=" | ">" | "?" | "@" | ALPHA | "[" | "]" | "^" | "_" | "`" | "{" | "|" | "}" | "~" media-type = type-name "/" subtype-name quoted-mt = <"> media-type <"> relation-types = relation-type | <"> relation-type *( 1*SP relation-type ) <"> relation-type = reg-rel-type | ext-rel-type reg-rel-type = LOALPHA *( LOALPHA | DIGIT | "." | "-" ) ext-rel-type = URI
Notes:
The ABNF special cases the value syntax for each predefined parameter name, and furthermore, introduces a quoted-string-like notation without using the RFC2616/httpbis quoted-string syntax.
This is confusing in that
- parsing of parameter values depends on the parameter names
- some of the time double quotes indicate quoted-string syntax, sometimes not
- sometimes only one variant (token vs quoted-string) is allowed, although a generic parser will accept both
This is in conflict with a recommendation in HTTPbis Part 2 (<http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-19#section-3.1>), and also does not reflect reality (see, for instance, <http://greenbytes.de/tech/tc/httplink/#simplecsstitletok>).
The ABNF should be simplified so that all parameters take both token and quoted-string, and that any additional syntactical constraints apply to quoted-string after undoing q-s escaping.