Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Processing HTTP messages #394

Open
csarven opened this issue Apr 8, 2022 · 1 comment
Open

Processing HTTP messages #394

csarven opened this issue Apr 8, 2022 · 1 comment

Comments

@csarven
Copy link
Member

csarven commented Apr 8, 2022

Background: The Solid protocol requires servers to reject PUT, POST, PATCH requests without the Content-Type header ( #server-content-type ). The rationale was to avoid unclarity / variability in servers when Content-Type is not present and the cost of servers and clients to deal with the consequences. This is "strict" from the point of the protocol, and improves the simplicity and security of the system.

The Solid Protocol (as per https://solidproject.org/TR/2021/protocol-20211217 and https://solidproject.org/ED/protocol as of this writing) does not require receivers to process the HTTP message body, unless otherwise specified, e.g., #n3-patch for Content-Type: text/n3.

Should the Solid Protocol require how receivers process HTTP messages (in the context of the Content-Type provided)? Consider cases where the payload is invalid once parsed, as per, e.g., a concrete RDF syntax.

There is a whole paragraph on numerous considerations in https://solidproject.org/TR/protocol#consider-request-validation that touches the concern here. The question is whether there should be a particular requirement or additional advisory.

@csarven
Copy link
Member Author

csarven commented Apr 8, 2022

One example:

The cost for clients to process invalid IRIs in RDF messages and the consequences could be much higher than the cost for servers that do want to process and reject the request [citation needed].

There is also a security concern if (authorization) servers apply vendor-specific algorithms that apply transformations upon receiving the request or when resource representations are applied elsewhere in the system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant