This specification defines a standard means by which user agents and servers interact to establish a user's identity, ensuring a structured, decentralized approach for identity discovery on the web.

Status of this document

This is a personal working document that the chair of the WebID CG uses to track and represent consensus.

This document is not a work item of the WebID CG.

Introduction

This specification delineates an HTTP IRI denoting an Agent that, when dereferenced, leads to an RDF document describing such Agent.

This specification aims to act as a succinct, adaptable framework, achieving universality and broad applicability without necessitating further modifications to the primary specification. To this end, it encompasses an open-ended list of [= Extension Profiles =].

Definitions

WebID
An identifier in the form of an HTTP IRI for naming an [= Agent =] which, when dereferenced, must always lead to a [= Profile Document =] describing the [= Agent =] named by the WebID itself.
Profile Document
An RDF document that describes an [= Agent =].
Agent
A thing that does stuff.

WebIDs and Profile Documents

A WebID denotes an [= Agent =], an entity whose nature is different from that of a document, while ultimately dereferencing to an actual document - an [= Profile Document =] - that describes such [= Agent =]. This specification models this relationship according to the guidelines on IRIs for documents and real-world objects defined in [[cooluris]].

For WebIDs with fragment identifiers, requests made against each WebID stripped of its fragment identifier MUST dereference to the respective [= Profile Document =]. Client HTTP libraries conforming to the HTTP standard will automatically strip the fragment before sending requests to the server.

For WebIDs without fragment identifiers, requests made against each WebID MUST dereference to the respective [= Profile Document =] by means of redirection. Each request MUST be answered with the `303 See Other` status code and the `Location` header set to an IRI that MUST dereference to the respective [= Profile Document =].

Content and format of Profile Documents

A Profile Document MUST qualify the described [= Agent =] as the document's `foaf:primaryTopic`.

Furthermore, a Profile Document SHOULD also qualify the described [= Agent =] as having type `foaf:Agent`.

Publishers of Profile Documents MUST use Turtle or JSON-LD when explicitly requested by consumers.

Extension Profiles

Following the note on Spec Variability by the W3C Working Group, sub-specifications may build on top of the WebID specification by defining Extension Profiles in support of specific features, such as in the case of user authentication via WebID-TLS.

Acknowledgments

The authors acknowledge the contributions and discussions from the WebID community and related working groups.

Sources

This section centralizes links to sources, proposals, suggestions and feedbacks mentioned in sidenotes.