Re: rev parameter - LC comment on draft-nottingham-http-link-header-07.txt

On 22/01/2010, at 12:31 AM, Julian Reschke wrote:
> So the grammar in <> lists it as regular link parameter:
>   link-param        = ( ( "rel" "=" relation-types )
>                     | ( "anchor" "=" <"> URI-Reference <"> )
>                     | ( "rev" "=" relation-types )
>                     | ( "hreflang" "=" Language-Tag )
>                     | ( "media" "=" ( MediaDesc | <"> MediaDesc <"> ) )
>                     | ( "title" "=" quoted-string )
>                     | ( "title*" "=" enc2231-string )
>                     | ( "type" "=" type-name "/" subtype-name )
>                     | ( link-extension ) )
> On the other hand, <> states:
>   The relation type of a link is conveyed in the "rel" parameter's
>   value.  Note that the "rev" parameter has also been used by some
>   formats, and MAY be accommodated as a link-extension, but its use is
>   neither encouraged nor defined by this specification.
> So the ABNF defines it as parameter, but the prose claims it's not specified, and could be specified later on as extension.

I'm happy to remove it from the BNF if that doesn't disturb the very delicate consensus we have on this topic. Comments from others?

> Speaking of which, how do I define an extension? Standards Track RFC updating this one, as there is no registry?

If you like. Practically speaking, I think many extensions will be used without such registration, as they'll be specific to the format and/or application in use -- which I think is just fine.

> Later on, in the section about HTML4 we find (<>):
>   HTML4 also has a "rev" parameter for links that allows a link's
>   relation to be reversed.  The Link header does not define a
>   corresponding "rev" parameter to allow the expression of these links
>   in HTTP headers, due to the confusion this mechanism causes as well
>   as conflicting interpretations (briefly, some hold that rev reverses
>   the direction of the link, while others that it reverses the
>   semantics of the relation itself).
> I have to admit that I'm still not sure what *in practice* the difference between reversing the link direction and reversing the link semantics actually is. (Example?)

I can add a brief example for the latter.

> So my preference would be to actually define the rev parameter consistently with this, and then to discourage it's use due to the other good reasons we heard about that (such as HTML authors typing "rev" instead of "rel").

As previous discussed (quite a bit), HTML2 defines REV as having reversed *semantics*, while HTML4 talks about it creating a "reverse link" -- which are very different things. This feels like a rat hole to me (thus my attempts to navigate around it).


Mark Nottingham

Received on Friday, 22 January 2010 01:03:17 UTC