Change #4 by JamesMSnell [typekey.com] at 2006-03-01 03:21:27.

Abstract

Use Link headers to communicate the source and target URL's and make the payload completely optional.

Status

Proposal

Rationale

Pingback demonstrates that the minimum amount of information that's actually required to send in the ping is the source URL and the target URL. The receiver can pull the rest from the source on it's own, if it so desires. However, it is also convenient (and backwards compatible) for the sender to specify it's own data.

Proposal

Change the existing Section 2.1 to:

A minimal TrackBack Ping consists of an HTTP POST request containing two HTTP Link headers with rel parameter values of "source" and "target".

 POST /trackback-url HTTP/1.1
 Host: example.org
 Link: <http://example.org/alice>; rel="source",
       <http://example.org/bob>; rel="target"

The source link identifies the URI of the Originating Resource.
The target link identifies the URI of the Target Resource.

Within the payload of the POST request, the sender of the ping MAY include a collection of properties expressed as name=value pairs encoded in accordance to the rules of the application/x-www-form-urlencoded media type as defined by [W3C.REC-html401-19991224].

Clients SHOULD transmit the character encoding of the entity payload using the charset parameter of the Content-Type header.

This specification defines the following TrackBack Ping properties:

o title - A human readable title for the Originating Resource.

o excerpt - A human readable excerpt of text from the Originating Resource.

o id - A permanent and universally unique Internationalized Resource Identifier, (IRI) [RFC3987] identifying the Originating Resource.

o name - A human readable name for the entity to which the Originating Resource belongs.

o source - The URL of a resource containing the Originating Resource.

Clients MAY choose to include name=value pairs in addition to those described above. Servers SHOULD ignore any such properties that it does not understand.

 POST /trackback-url HTTP/1.1
 Host: example.org
 Link: <http://example.org/alice>; rel="source",
       <http://example.org/bob>; rel="target"
 Content-Type: application/x-www-form-urlencoded; charset=utf-8
 Content-Length: nnnn

 title=My+Resource&excerpt=Hello+World&name=My+Blog \
 &id=tag:example.org,2005:/resources/a

Impacts

Extensibility.

Backwards compatibility with previous TrackBack implementations.

Notes