Server
This document describes what the Solid specification demands from a server in general. Implementation details have been added describing if and how compliance has been reached.
Spec compliance
-
All http URIs MUST redirect to their https counterparts using a response with a 301 status code and a Location header.
Implemented through thePdsinterop\Solid\Controller\HttpToHttpsController
. -
It SHOULD additionally implement the server part of HTTP/1.1 Caching to improve performance
As caching can be added “in-front” of the server this is deemed low-priority. -
When a client does not provide valid credentials when requesting a resource that requires it, the data pod MUST send a response with a 401 status code (unless 404 is preferred for security reasons).
This will need to be implemented as part of the OAuth, ACL, and protected documents parts. -
A Solid server MUST reject PUT, POST and PATCH requests without the Content-Type header with a status code of 400.
This should be added in a similar fashion as the HTTPtheHTTPS mechanism. No need to continue routing if this criteria is not met. -
Paths ending with a slash denote a container resource. the server MAY respond to requests for the latter URI with a 301 redirect to the former.
Implemented through thePdsinterop\Solid\Controller\AddSlashToPathController