Subject: Re: Link Header draft

From: Phil Archer <[email-masked]>
Date: Wed, 17 Oct 2007 10:03:38 +0100

I've been following this particular thread (that started at [1] and was 
revisited earlier this week) and would like to offer some input in 
support of HTTP Link and HTTP Profile.

The POWDER Working Group that I chair [2] has a need for these two 
headers to be available - and that need is very similar to that 
discussed for GRDDL, see Danny Ayers' and Harry Halpin's postings to 
this list [3].

In brief: the Protocol for Web Description Resources is about providing 
small amounts of metadata about a lot of resources for use cases ranging 
from trustmarks through child protection to licensing. Such descriptions 
are as applicable to things like images and movies as they are HTML 
documents - hence the need for an HTTP-based linking mechanism and the 
availability of something very much like HTML Profile so we can define 
what rel="powder" means. (As an aside, we'll be arguing for the 
retention of Profile which seems to be under threat at the moment in 
HTML 5 & XHTML 2 but that's a different matter).

So the case for wanting Link and Profile to be standardised along the 
lines proposed by Mark Nottingham [4] is, I hope, clear. The current 
working draft of our primary technical document that mentions this (in 
section 4) is at [5].

As for implementation experience - I can offer plenty. Since I work in 
child protection, that's where my implementations come from but the case 
can readily be generalised. In short, HTTP Link headers work just fine 
if you want them to. An early study carried out by UK telco Kingston 
Communications in August 2004 showed that Apache servers could readily 
be configured to include and control Link Headers [6].

That work, and similar experiments I carried out on Microsoft IIS, was 
the basis for the advice offered to providers wishing to label their 
content with ICRA through an HTTP Link header [7].

Parsing those headers is easy, particularly so with Perl's LWP module 
[8]. As described in Sean M Burke's book, 'Perl & LWP' [9],

"... By default, if the Response Object is an HTML object, its head 
section is parsed, and some of the content of the head tags is copied 
into the HTTP::Response object's headers."

This includes Link tags so that, when using LWP,*there is no difference* 
between a Link expressed in HTML or HTTP. For example, [10] is the 
output of the ICRA label tester on an adult site that configured its 
Apache server following the advice at [7]. The relevant headers as 
displayed by the same tool when testing fosi.org, where the Link is 
expressed in HTML, look identical [11].

Extracting Link headers in a Java environment is trivial using, for 
example, the HTTPParseHeaders method, and in C++ you just split up the 
headers you have and look for what you want. ICRA's own free filter 
recognises HTTP Link headers too.

In summary, POWDER is one of at least 2 W3C working groups that would 
like to see HTTP Link and HTTP Profile standardised. Our Rec Track 
documents should be at Last Call early next month with CR just squeaked 
in before the end of the year if possible.

Obviously I'd be happy to discuss this further if required.

Phil.

[1] http://lists.w3.org/Archives/Public/ietf-http-wg/2007JanMar/0129.html
[2] http://www.w3.org/2007/powder/
[3] http://lists.w3.org/Archives/Public/ietf-http-wg/2007JanMar/0146.html
[4] http://www.mnot.net/drafts/draft-nottingham-http-link-header-00.txt
[5] http://www.w3.org/TR/2007/WD-powder-dr-20070925/
[6] http://www.icra.org/archive/labellingWG/mod_headers/
[7] http://www.icra.org/systemspecification/#tagMethods
[8] http://search.cpan.org/~gaas/libwww-perl-5.808/lib/LWP.pm
[9] http://www.oreilly.com/catalog/perllwp/, page 42, Advanced Methods
[10] 
http://www.icra.org/cgi-bin/rdf-tester/labelTester.cgi?lang=en&url=http%3A%2F%2Fwww8.excitemoi.com&showHead=on&showContent=on
[11] 
http://www.icra.org/cgi-bin/rdf-tester/labelTester.cgi?lang=en&url=http%3A%2F%2Fwww.fosi.org%2F&showHead=on&showContent=on

-- 
Phil Archer
Chief Technical Officer,
Family Online Safety Institute
w. http://www.fosi.org/people/philarcher/

Register now for the first, annual Family Online Safety Institute 
Conference and Exhibition, December 6th, 2007, Washington, DC.

Go to: http://www.fosi.org/conference2007/ today!

---

From: "Anne van Kesteren" <[email-masked]>
Date: Wed, 17 Oct 2007 11:14:27 +0200

> HTML 5 & XHTML 2 but that's a different matter).

Why not simply register "powder" as a rel-value? Using profile for that  
only makes it more complicated for authors and processing software.

(The WHATWG has put up a wiki page where you can register a rel value  
http://wiki.whatwg.org/wiki/RelExtensions as experiment.)

-- 
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>

---

From: Julian Reschke <[email-masked]>
Date: Wed, 17 Oct 2007 11:26:07 +0200

Anne van Kesteren wrote:
>> In brief: the Protocol for Web Description Resources is about 
>> providing small amounts of metadata about a lot of resources for use 
>> cases ranging from trustmarks through child protection to licensing. 
>> Such descriptions are as applicable to things like images and movies 
>> as they are HTML documents - hence the need for an HTTP-based linking 
>> mechanism and the availability of something very much like HTML 
>> Profile so we can define what rel="powder" means. (As an aside, we'll 
>> be arguing for the retention of Profile which seems to be under threat 
>> at the moment in HTML 5 & XHTML 2 but that's a different matter).
> 

Well, right now there is no registration process. That's one of the open 
issues we need to resolve (extensibility).

> http://wiki.whatwg.org/wiki/RelExtensions as experiment.)

IMHO link relations need to be defined outside the scope of HTML -- they 
can be used with any type of resource after all. Thus I would prefer 
either an open extensibility model (URI based), or a independant 
registry such as IANA (or a combination of both).

Best regards, Julian

---

From: Phil Archer <[email-masked]>
Date: Wed, 17 Oct 2007 10:32:16 +0100

Thanks for the pointer Anne - we probably will do that. Even so, Profile 
has the advantage of anchoring a rel type in a namespace more strongly 
than a wiki so I'm not sure that one obviates the need for the other 
completely.

Phil.

Anne van Kesteren wrote:
> --Anne van Kesteren