RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 5988, "Web Linking", October 2010

Note: This RFC has been obsoleted by RFC 8288

Source of RFC: IETF - NON WORKING GROUP
Area Assignment: app

Errata ID: 3158
Status: Held for Document Update
Type: Technical

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.

Report New Errata