Description
@mikekistler wrote in #4389 (comment):
this seems like the exact situation where you want to use absolute $self value. I thought the idea of distinguishing URIs -- identifiers -- from URLs -- locators -- is that you could have the same document in multiple locations and would want to make clear that it is the same document -- with a single identifier -- even though it could be retrieved from multiple locations.
Restricting $self
to absolute URIs would break the analogy with $id
but would simplify things.
This is somewhat related to issue #4541 which questions the decision to have API URLs ignore $self
because if you do have multiple API instances, hosting a copy of the OAD in a location relative to the instance allows using the same OAD at runtime to work with multiple API instances.
This contrasts with $self
which is concerned with the load-time identity of the individual document. We would still use other RFC3986 sources (including the retrieval URI if no base URI is available from an encapsulating entity) for the base URI when $self
is not present, but we would no longer have to explain/support the "what if $self
is relative" scenario.
Also paging @karenetheridge