diff --git a/protocol.html b/protocol.html index 1f5a6bad..6fb8d509 100644 --- a/protocol.html +++ b/protocol.html @@ -665,6 +665,22 @@

Resource Type Heuristics

When a successful POST request creates a resource, the server MUST assign a URI to that resource. Servers MAY allow clients to suggest the URI of a resource created through POST, using the HTTP Slug header as defined in [RFC5023].

+

+ Servers MUST only accept requests where there is consistency between the path ending (URI Slash Semantics), any HTTP Link headers with rel="type" and the media type given in the Content-Type header of the request. + Servers MUST reject inconsistent requests using a 415 (for media type inconsistency) or 409 (for all other inconsistencies) status code as per Section 4.3.4 of [RFC7231]. + When a server receives a request that attempts to change the resource type, it MUST verify that the resource type of the request is compatible with the current resource type and reject the requests using a 409 status code if it is not. + [Source] +

+ +
+

Note: Interpretation of Resource Types

+
+

+ Clients and servers may indicate resource types using a HTTP Link headers with rel="type", but should be aware that they come with assumptions as to what media types can be associated with them. In particular, Solid requires containers to be represented by an RDF Document, which again requires an appropriate RDF serialization with a corresponding media type for consistency. Other media types may have similar consistency requirements. +

+
+
+

Note: URI Allocation