Re: WebID and Content Negotiation

On Thu, Jan 27, 2022 at 7:19 PM Jacopo Scazzosi <jacopo@scazzosi.com> wrote:
>
> Hi all,
>
> > Could we come to a consensus that content negotiation is optional for
> > current and future WebID work?
>
> I agree that it should remain optional, as per the current WebID spec/draft:
>
> a) conneg tends to be incompatible with hosting of static resources
> b) conneg comes with its own complexity, which should not be forced upon
>    adopters of the spec
>
> In practice, this entails that a client asking for a specific serialization
> format might:
>
> - receive a response in the requested format
> - receive a "406 Not Acceptable" response if the requested format is not
>   supported by the publisher but basic conneg is
> - receive the response in a different format if the publisher does not support
>   conneg
>
> I'm happy with all three implications.

I think at this point we need to put the prose behind us and make HTTP
request/response examples for each use case, in order to remove any
ambiguity. Request examples:

1. No format preference (canonical format is Turtle)

GET /webid

2. Canonical format (Turtle) is preferred

GET /webid
Accept: text/turtle, application/rdf+xml;q=0.8

3. Non-canonical RDF format is preferred and supported by the server

GET /webid
Accept: application/rdf+xml, text/turtle;q=0.8

4. Non-canonical RDF format is preferred and *not* supported by the server
a. without fallback

GET /webid
Accept: application/rdf+xml

b. with Turtle as fallback

GET /webid
Accept: application/rdf+xml, text/turtle;q=0.8

5. HTML is preferred and supported by the server

GET /webid
Accept: text/html, text/turtle;q=0.8

6. HTML is preferred and *not* supported by the server
a. without fallback

GET /webid
Accept: text/html

b. with Turtle as fallback

GET /webid
Accept: text/html, text/turtle;q=0.8

>
> Best regards,
> Jacopo.
>
>

Received on Thursday, 27 January 2022 18:51:56 UTC