Re: HTML Link Type Model

Roy T. Fielding (fielding@avron.ICS.UCI.EDU)
Thu, 18 May 95 00:10:22 EDT

Well, that was dumb -- I shouldn't try to summarize a discussion
after spending all day reading it, and then blanket it at the end.

I was wrong in my original claim that the use of REL and REV
with nouns was backwards; it is only ambiguous, and even then only
if you are working with the WWW model in mind (which I was, but
apparently no one else).

Murray writes [in response to my ramblings]:
>>
>> After 2.5 weeks of vacation and 1.5 weeks of catching up on back mail,
>> I have an interesting perspective on this whole discussion regarding
>> REL and REV and typed links. I am sorry that I missed the beginning
>> of the discussion, since I had a similar one via e-mail with the W3C
>> team in March.
>
> Which W3C team? Perhaps it would have been useful to share
> that discussion with others on the HTML WG.

Sorry -- didn't mean to be dropping names there without explaining.
When I was editing the last draft of HTTP, I wanted to include a
full explanation of the link types (just as you are doing now for HTML).
So, I initiated a discussion with Henrik, TimBL, Dan, and Dave (whom
I abbreviated as "the W3C team") about these very same things that
have been discussed here. No conclusion was reached, other than getting
a better elaboration of what the WWW model was and why nouns didn't
fit well. We tried defining a better set of verb names, but that didn't
help much either, and we've all been too busy lately to continue that
discussion.

>> First, let me point out a discrepancy between your discussion and
>> *reality*, where reality is defined as the WWW link type model.
>> [Note: you may define your reality differently, but not within the
>> scope of this WG]
>
> Hmmm! Well I suppose that depends on what you mean by the WWW model.
> I may be mistaken, but I thought that the HTML WG was the group,
> within the context of the IETF, made decisions about reality within
> the scope of the HTML WG. ...

No. The scope is set by the charter -- changes to the charter (and thus
the scope) must be negotiated with our ADs (John Klensin and/or
Harald Alvestrand). Since the link model that defines the names of
standard link relationships impacts both HTML and HTTP, such a change
is not as straightforward as it may seem.

One can say that, since this WG has the mandate to define HTML as current
practice, we can define HTML's use of link types. But, HTML (until 3.0)
has never defined link type names. So, we would have to invent them,
which is where the real problem lies.

IETF working groups are not formed to design systems! They are formed
to design and develop the specification of the interfaces of those systems.
There is a big difference between designing a spec and designing a system.

That doesn't mean the individuals in a WG can't design a system, perhaps
within an externally-coordinated group, but it does mean that the design
discussion should not take place on the WG mailing list. The WG mailing
list is intended to focus on the specification; continuing discussion of
items not-yet-relevant to the specification interferes with our other
goals already in the charter.

Yes, I know it's convenient for some to stay in one list, but convenience
is not one of our goals.

> Perhaps we need to have a discussion
> about the relationship between and among the various parties involved
> in the HTML WG and the W3C.

I'd rather not, since it's not that simple. I don't speak for W3C,
but I do know that W3C is one of those entities where system design does
take place (among many other things). I am sure that SCO is another.

> I don't see how a proposed spec and a working implementation
> can be labelled as wrong. At the most recent IETF meeting
> it became clear that there was a great deal of confusion over
> the correct semantics to apply to REL/REV and various people
> called for clarification in the spec.

Yes, I asked for clarification, not for a redesign of the model.
I don't mind having a new model (which is where much of Craig's
discussion was heading), but not within the scope of this WG.
All I wanted was a simple statement of the model, what names are
known to fit within that model, and how to assign new names.
[BTW, this is intended for HTML 2.x, not 2.0, just in case anybody
is wondering]

> I'll concede that two definitions are opposite. So what?
> With all due respect to Tim, his original thinking on the
> subject was -- apparently -- not expressed in the HTML spec.

It was in the WWW design notes, which IMHO does form a part of
the original specification of HTML.

> SCO developed an implementation based on the spec as it
> was then defined and continued to develop. Dave Raggett
> developed the HTML 3.0 spec with a similar understanding.

Fine. Are these based on a coherent model? Do we have a description of
this model? Does it conflict with the WWW model? Can it be considered
a clarification of the WWW model, or a redesign of that model?

> I think that the so-called "WWW Link Model" was abandoned a long time ago.

Nope -- it was consistantly misunderstood, but that is a different matter.

> The HTML 2.0 spec is somewhat ambiguous in saying that REL "gives the
> relationship described by the hypertext link from the anchor to the
> target." ... "Values and their semantics will be registered by the HTML
> registration authority."

Yes, and that definitely needs to be fixed. Providing a succinct
editorial change to correct it should be the goal of this discussion.

>> ...
>> ============
>> Link Actions
>> ============
>>
>> All link actions currently default to "GET" (not "goto", as others
>> have mentioned). Different link actions have differing data requirements,
>> and are better represented as FORMs. Furthermore, the action of selecting
>> a hypertext anchor should be idempotent.
>
> Point taken on "GET" vs. "goto.
>
> Please explain about link actions being better represented as FORMs?

There is a built-in rendering distinction between anchors and FORMs.
FORMs also provide a means of supplying data (required for many actions).

> Please explain in detail what you mean by "the action of selecting
> a hypertext anchor should be idempotent."

As described (poorly) in the HTTP/1.0 spec, selecting an anchor with the
apparent semantics of a GET should not have hidden side-effects (other
than what is expected by a GET) and should not express commitment by the
user or, through that action, change the state of the web. There are a
few exceptions to this (dynamic art and such) but it holds in general.

>> Adding an ACTION="" attribute to A and LINK would be okay by me, but
>> only if the spec requires that non-idempotent actions be clearly
>> rendered as such or verified by the user.
>
> Please explain and give examples.

<A action="DELETE" href="http://www.whitehouse.gov/">See our house</A>

The rest of the discussion will have to wait, as I think it belongs in
another venue (and I'd rather not perpetuate the thread).

....Roy T. Fielding Department of ICS, University of California, Irvine USA
<fielding@ics.uci.edu>
<URL:http://www.ics.uci.edu/dir/grad/Software/fielding>