solid / solid/specification

Processing HTTP messages

Open
#394 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

doc: Protocol topic: resource access
Dominant language
HTML
Stars
563
Forks
108
Avg merge
4d 13h
Merged PRs (30d)
3

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Solid Protocol sections on request validation and the linked discussions for #server-content-type and #n3-patch. Compare the current requirements with the question about invalid parsed payloads; done means reaching and recording a decision on whether a processing requirement or advisory should be added.

Written by the indexing model from the issue text.

Assessment

Domain
api, documentation, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.