diff --git a/ED/protocol.html b/ED/protocol.html index bf46728d..a50aa3c8 100644 --- a/ED/protocol.html +++ b/ED/protocol.html @@ -720,7 +720,7 @@
LDP does not specify URI patterns for resources when using the POST
method, e.g., POST http://example.org/foo/
may result in creating a resource with URI http://example.org/foo/bar
, http://example.org/baz/qux/quxx
, http://example.org/{uuid}
or something else. In Solid Protocol, the URI of a new resource resulting from, e.g., POST http://example.org/foo/
, is in context of the request URI, and therefore http://example.org/foo/bar
will be created, and it is not possible to construct the new URI besides under the direct hierarchy of http://example.org/foo/
.
Solid Protocol's server behaviour in that regard is compatible with LDP even if only ldp:Container
is advertised in the HTTP Link
header of the request URI, i.e., http://example.org/foo/
as the target URI of POST
. Thus, it is possible to have a Solid Protocol server as a particular specialisation of LDP with respect to behaviours around POST
to containers. Clients that are interoperable with LDP servers would also be interoperable with Solid Protocol servers with respect to relative referencing. Although LDP servers cannot guarantee the URI pattern resulting from POST
requests, the fact that Solid Protocol servers can does not impact interoperability between Solid Protocol servers and LDP clients.
Solid Protocol's server behaviour in that regard is compatible with LDP even if only ldp:Container
is advertised in the HTTP Link
header field of the request URI, i.e., http://example.org/foo/
as the target URI of POST
. Thus, it is possible to have a Solid Protocol server as a particular specialisation of LDP with respect to behaviours around POST
to containers. Clients that are interoperable with LDP servers would also be interoperable with Solid Protocol servers with respect to relative referencing. Although LDP servers cannot guarantee the URI pattern resulting from POST
requests, the fact that Solid Protocol servers can does not impact interoperability between Solid Protocol servers and LDP clients.
Solid Protocol clients may not fully interoperate with LDP servers, e.g., it is possible for an LDP server implementation to assign URIs to new resources that are not compatible with Solid Protocol. An LDP server needs to also conform to Solid Protocol server requirements in order to participate in the Solid ecosystem.
@@ -740,13 +740,13 @@Servers MUST conform to HTTP Semantics [RFC9110]. Servers SHOULD conform to HTTP Caching [RFC9111]. Servers MUST conform to HTTP/1.1 [RFC9112]. Servers SHOULD conform to HTTP/2 [RFC9113].
-Servers SHOULD use TLS connections through the https
URI scheme in order to secure the communication with clients. When both http
and https
URI schemes are supported, the server MUST redirect all http
URIs to their https
counterparts using a response with a 301
status code and a Location
header.
Servers SHOULD use TLS connections through the https
URI scheme in order to secure the communication with clients. When both http
and https
URI schemes are supported, the server MUST redirect all http
URIs to their https
counterparts using a response with a 301
status code and a Location
header field.
When a client does not provide valid credentials when requesting a resource that requires it (see WebID), servers MUST send a response with a 401
status code (unless 404
is preferred for security reasons).
Server MUST generate a Content-Type
header field in a message that contains content.
Server MUST reject PUT
, POST
and PATCH
requests without the Content-Type
header with a status code of 400
. [Source]
Server MUST reject PUT
, POST
and PATCH
requests without the Content-Type
header field with a status code of 400
. [Source]
When a client receives a response with a 403
or 404
status code, the client MAY repeat the request with different credentials.
Clients MUST use the Content-Type
HTTP header in PUT
, POST
, and PATCH
requests [RFC9110]. [Source]
Clients MUST use the Content-Type
HTTP header field in PUT
, POST
, and PATCH
requests [RFC9110]. [Source]
When a server supports multiple storages, the URIs MUST be allocated to non-overlapping space.
-Servers MUST advertise the storage resource by including the HTTP Link
header with rel="type"
targeting http://www.w3.org/ns/pim/space#Storage
when responding to storage’s request URI.
Servers MUST advertise the storage resource by including the HTTP Link
header field with rel="type"
targeting http://www.w3.org/ns/pim/space#Storage
when responding to storage’s request URI.
Clients can determine a resource is of type storage by making an HTTP HEAD
or GET
request on the target URL, and checking for the Link
header with rel="type"
targeting http://www.w3.org/ns/pim/space#Storage
.
Clients can determine a resource is of type storage by making an HTTP HEAD
or GET
request on the target URL, and checking for the Link
header field with rel="type"
targeting http://www.w3.org/ns/pim/space#Storage
.
Clients can determine the storage of a resource by moving up the URI path hierarchy until the response includes a Link
header with rel="type"
targeting http://www.w3.org/ns/pim/space#Storage
.
Clients can determine the storage of a resource by moving up the URI path hierarchy until the response includes a Link
header field with rel="type"
targeting http://www.w3.org/ns/pim/space#Storage
.
Clients can discover a storage by making an HTTP GET
request on the target URL to retrieve an RDF representation [RDF11-CONCEPTS], whose encoded RDF graph contains a relation of type http://www.w3.org/ns/pim/space#storage
. The object of the relation is the storage (pim:Storage
).
Servers MUST include the Link
header with rel="http://www.w3.org/ns/solid/terms#storageDescription"
targeting the URI of the storage description resource in the response of HTTP GET
, HEAD
and OPTIONS
requests targeting a resource in a storage.
Servers MUST include the Link
header field with rel="http://www.w3.org/ns/solid/terms#storageDescription"
targeting the URI of the storage description resource in the response of HTTP GET
, HEAD
and OPTIONS
requests targeting a resource in a storage.
Servers MUST include statements about the storage as part of the storage description resource.
@@ -835,7 +835,7 @@Servers MUST keep track of at least one owner of a storage in an implementation defined way.
-When a server wants to advertise the owner of a storage, the server MUST include the Link
header with rel="http://www.w3.org/ns/solid/terms#owner"
targeting the URI of the owner in the response of HTTP HEAD
or GET
requests targeting the root container.
When a server wants to advertise the owner of a storage, the server MUST include the Link
header field with rel="http://www.w3.org/ns/solid/terms#owner"
targeting the URI of the owner in the response of HTTP HEAD
or GET
requests targeting the root container.
[Source][Source][Source][Source]
@@ -850,7 +850,7 @@The representation and behaviour of containers in Solid corresponds to LDP Basic Container and MUST be supported by server. [Source]
-Servers can determine the value of the HTTP Last-Modified
header field in response to HEAD
and GET
requests targeting a container based on changes to containment triples.
Servers can determine the field value of the HTTP Last-Modified
header field in response to HEAD
and GET
requests targeting a container based on changes to containment triples.
The dcterms:modified
value of a contained resource corresponds with the Last-Modified
header value of the contained resource. If one were to perform HEAD
or GET
requests on the URI of the contained resource at the time of the HTTP message’s generation, then a response with the 200
status code including the Last-Modified
header would indicate the same date and time.
The dcterms:modified
value of a contained resource corresponds with the Last-Modified
header field value of the contained resource. If one were to perform HEAD
or GET
requests on the URI of the contained resource at the time of the HTTP message’s generation, then a response with the 200
status code including the Last-Modified
header field would indicate the same date and time.
Servers MUST advertise auxiliary resources associated with a subject resource by responding to HEAD
and GET
requests by including the HTTP Link
header with the rel
parameter [RFC8288].
Servers MUST advertise auxiliary resources associated with a subject resource by responding to HEAD
and GET
requests by including the HTTP Link
header field with the rel
parameter [RFC8288].
Clients can discover auxiliary resources associated with a subject resource by making an HTTP HEAD
or GET
request on the target URL, and checking the HTTP Link
header with the rel
parameter [RFC8288].
Clients can discover auxiliary resources associated with a subject resource by making an HTTP HEAD
or GET
request on the target URL, and checking the HTTP Link
header field with the rel
parameter [RFC8288].