The HTTP Link Header

The Link: header in HTTP allows the server to point an intereted client to another resource containing metadata about the requested resource. For example,

means that more information about the requested resource is available in the resource whose relative URI is meta.rdf. Compare this with the HTML element:

The HTTP link header allows metada to be given without actually touching the resource in question, even if it is a movie or a photograph. Typical uses of the linked metadata file may be to express:

The Link: header in HTTP was in early versions of HTTP, and has been re-proposed by Connolly and Hixie in 1999 and by Mark Nottingham and others more recently. The idea is that the RDF822 header style parameters are used in the same way as the XML attributes in the HTML <link rel="..." href=".."/> except for the href= attribute which is the main argument of the HTTP header. The standardization and experimentation of the Link: header would therefore be done with the HTML spec.

Apache 1

The mod_headers supports the addition of a fixed header by putting the following in the ,htaccess file, for example.

Apache 2

The mod_headers supports the addition of a fixed header by putting the following in the ,htaccess file, for example.

Also you can do environment variable expansion within the

There may be a bug in this as I didn't get it to work - timbl.

Apache 2.3

I think the following works in Apache 2.3:

  SetEnvIf Request_URI "(.*)" Request_Uri=$1
  Header add Link "<%{Request_Uri}e.meta>;rel=meta"

- JAR.

Client side implementations

For POWDER content labels. Perl's LWP module makes no distinction between a link/rel defined in HTML or HTTP Headers. See, for example, test resuts. (source)

The Tabulator implements this in its 'AJAR' RDF AJAX library, in that when a request for x returns a Link: y; rel=meta header, it takes it as having the semantics (in n3) x rdfs:seeAlso y. This is the same as the semantics of <link rel="meta" href="y"> in the body of HTML returned. In each case, if a query has been done for x, then y also will be looked up on the web. (The provenance of the triple is not deemed to be the document, it is deemed to be the HTTP response from the server. The triple will not sow iup as part of the RDF semantics of the document.)

References/History

1990?

The Link header was in the original HTTP specification, with the same semantics as the HTML link element.

1997-01

The Link header was in the Additional Headrer Field Definitions of [http://rfc.net/rfc2068.html RFC2068

1999-04

Connolly and Hickson, Apri 1999, "An Entity Header for Linked Resources"

1999-06

The header was, though, removed from later versions of the specification, such as RFC 2616.

2006-01-16

M Nottingham, June 16, 2006, HTTP Header Linking, Expired Internet Draft, raises the subject again

2006-06-22

M Nottingham, "Bringing Back the Link - With a Twist", Blog

2007-9-25

The POWDER Working group, working on applying metadata to swathes of URI space, in section 4 of its "Protocol for Web Description Resources (POWDER): Description Resources", suggests the use of HTTP Link header.

2007-10

A new HTTP working group incarnation, HTTP BIS, is chartered (see revised charter) to clarify the spec, possibly deprecate features, but not to include new features.

2007 -

IETF WG Mailing list ietf-htp-wg@w3.org )latest messages)

2007-10

Link header thread on the ietf-http-wg@w3.org list.

2008-02

FindingResourceDescriptions - the discussion resurfaces on www-tag.

LinkHeader (last edited 2008-03-13 16:52:14 by JulianReschke)