diff --git a/conneg-by-ap/index.html b/conneg-by-ap/index.html index 19a91c6d2..b195bf807 100644 --- a/conneg-by-ap/index.html +++ b/conneg-by-ap/index.html @@ -219,6 +219,15 @@

Definitions

The entity that is identified by a URI. Familiar examples include an electronic document, an image, a source of information with a consistent purpose. [[RFC3986]] +
representation
+
+

+ An abstraction of the current or desired state of a thing in HTTP communications. [[RFC7230]] +

+

+ In this specification, representations are of resources. +

+
metadata
Information that is supplied about a resource. [[RFC3986]]
request
@@ -492,13 +501,13 @@

Requests and Responses

  1. list profiles
    - a client requests the list of URIs of profiles for which a server is able to deliver - conformant resources + a client requests the list of URIs of profiles for which a server is able to deliver + conformant resource representations
  2. get resource by profile -
    a client requests a representation of the requested resource represented conforming - to a particular profile +
    a client requests a representation of the requested resource represented conforming + to a particular profile

@@ -508,13 +517,13 @@

Requests and Responses

  1. list profiles
    - a server responds to a client with the list of profile URIs for the profiles for which it is able to - deliver conformant resource representations + a server responds to a client with the list of URIs of the profiles for which it is able + to deliver conformant resource representations
  2. get resource by profile
    - a server responds with either a specific profile for a resource conforming to a - requested profile identified by the client or it responds with a default profile + a server responds with either a specific profile for a resource conforming to a + requested profile identified by the client or it responds with a default profile

More detailed descriptions of these requests and their responses are given next.

@@ -1187,6 +1196,63 @@

QSA key discovery

# (there is no Content-Profile header present) but this can be inferred # by the link header with rel="self" +

+ While the Link header response above communicates all the information that a list profiles request + does, it is not visible directly in a web browser. While shows a + requests/response pair that include equivalent Link header and HTTP body information listing profiles, the + latter of which is visible in a browser, it is dependent on a client knowing that the QSA key/value pair + _profile=all is used to trigger this response as opposed to the server's default resource + representation. +

+

+ To communicate to a client what QSA key/value pair is used for list profiles when the "QSA Alternate + Keywords Realization" is conformed to, a server SHOULD... +

+
+

+ Nick: it appears we are dependent on an identifier for the "profile of a resource that lists all others + profiles". This is analogous in content to the Link header response for list profiles and is exactly + what the existing QSA systems respond with when asked for ?_view=alternates and what is given + above as ?_profile=all. So it's a URI that is equivalent to the QSA Realization profile's token + of all. +

+

+ If we had such a URI, I would be able to say something like a Link header response should include this to + indicate how a client can show how to trigger ?_profile=all (list profiles): +

+

+

Link:
+    <http://example.org/resource/a>;
+      rel="self";
+      type="text/turtle";
+      profile="urn:example:profile:1",
+    <http://example.org/resource/a>;
+      rel="alternate";
+      type="text/turtle";
+      profile="http://example.org/profile/alternates",
+    <http://example.org/resource/a>;
+      rel="alternate";
+      type="text/turtle";
+      profile="urn:example:profile:2",
+    <http://example.org/resource/a>;
+      rel="alternate";
+      type="application/xml";
+      profile="urn:example:profile:1",
+    <http://example.org/resource/a>;
+      rel="alternate";
+      type="application/xml";
+      profile="urn:example:profile:2",
+    <http://example.org/resource/a>;
+      rel="alternate";
+      type="text/html"
+            
+

+

+ The bolded part of the Link header above is the alternate profile for the resource that lists other profiles + which we know since the profile identifier is http://example.org/profile/alternates + in some format (here text/turtle. +

+