Background
Content negotiation is a set of rules in HTTP that allows the same URL to provide different versions of a resource.
In the context of SPDX 3.1, this allows the URL https://spdx.org/rdf/3.1/terms/Core/Agent to act differently depending on who is asking:
- For Humans: When accessed via a web browser, the server delivers an HTML page (.html) providing a readable description of the Agent class, with examples - intended for human consumption.
- For Machines: When accessed by a reasoner or metadata harvester, the server delivers a Turtle (.ttl) file containing the machine-readable definitions.
Two work strands
This issue proposes us to have two strands of work regarding the content negotiation:
-
Spec - Documentation about how SPDX does content negotiation (the URL, the media type, the file extension, ect) should be kept in this spdx-spec repo. They could find a place in one of the informative Annexes.
-
Implementation - Technical work items to implement the content negotiation as described in (1), including server settings, will be carried in the infrastructure repo.
This issue will serve as a tracker for all things content negotiation.
See also
Background
Content negotiation is a set of rules in HTTP that allows the same URL to provide different versions of a resource.
In the context of SPDX 3.1, this allows the URL
https://spdx.org/rdf/3.1/terms/Core/Agentto act differently depending on who is asking:Two work strands
This issue proposes us to have two strands of work regarding the content negotiation:
Spec - Documentation about how SPDX does content negotiation (the URL, the media type, the file extension, ect) should be kept in this
spdx-specrepo. They could find a place in one of the informative Annexes.Implementation - Technical work items to implement the content negotiation as described in (1), including server settings, will be carried in the
infrastructurerepo.This issue will serve as a tracker for all things content negotiation.
See also