Overview#Web Linking (RFC 5988) defines a means of indicating the relationships between resources on the Web, as well as indicating the type of those relationships, has been available for some time in HTML W3C.REC-html401-19991224, and more recently in Atom RFC 4287. These mechanisms, although conceptually similar, are separately specified. However, links between resources need not be format specific; it can be useful to have typed links that are independent of their serialization, especially when a resource has representations in multiple formats.
To this end, RFC 5988 defines a framework for typed links that isn't specific to a particular serialization or application. RFC 5988 does so by redefining the link relation registry established by Atom to have a broader domain, and adding to it the relations that are defined by HTML.
Furthermore, an HTTP Header Field for conveying typed links was defined in Section 188.8.131.52 of RFC 2068, but removed from RFC 2616, due to a lack of implementation experience. Since then, it has been implemented in some User-agents (e.g., for style-sheets), and several additional use cases have surfaced.
Because it was removed, the status of the Link header is unclear, leading some to consider minting new application-specific HTTP Header Field instead of reusing it. RFC 5988 addresses this by re-specifying the Link header as one such serialization, with updated but backwards-compatible syntax.
Links#Web Linking (RFC 5988), a link is a typed connection between two resources that are identified by Internationalized Resource Identifiers (IRIs) RFC 3987, and is comprised of:
- A context IRI,
- a Link Relation Type,
- a target IRI,
- optionally, target attributes.
Note that in the common case, the context IRI will also be a URI RFC 3986, because many protocols (such as HTTP) do not support dereferencing IRIs. Likewise, the target IRI will be converted to a URI (see RFC 3987, Section 3.1) in serialisations that do not support IRIs (e.g., the Link header).