node-solid-server icon indicating copy to clipboard operation
node-solid-server copied to clipboard

Basic prep

Open CxRes opened this issue 5 months ago • 31 comments

This PR implements PREP/Solid-PREP as an alternative to the existing notifications mechanism in NSS which was deprecated for security reasons.

PREP/Solid-PREP bring many improvements to the existing notifications mechanism in NSS, as illustrated in this table:

WebSockets API Solid Notifications PREP/Solid-PREP
Transport WebSockets Multiple HTTP Streaming
Discovery Headers Discovery Resource
Link Headers
Headers
Initialization
AuthN/Z No Yes Yes
RoundTrips 2 1-2 0[^1]-1
Features
State No Yes Yes
Rate No Optional No
Termination
End Time Undefined Negotiated Negotiated
Closing Undefined Automatic Automatic
Notifications
Format Custom RDF/AS2 Any[^2]
Target Yes Yes Yes
Activity No Yes Yes
Object URL No Yes Yes
Time No Yes Yes
Content Negotiation No Yes Yes
Deltas No In Development Optional
Error Messages No In Development In Development

The last published version of Solid Protocol and the ED mentions that WebSockets-API that NSS uses does not include an authentication mechanism. That was the main reasons why Solid-CG's notifications panel deprecated the WebSockets-API and transitioned Solid to the Solid Notifications Protocol. Solid-PREP is part of this incubation work in the CG.

[^1]: PREP can fetch notifications along with the representation body in the response. [^2]: Solid-PREP serves notifications that are identical to Solid Notifications Protocol, with suitable content negotiation requesting an RDF media-type.

CxRes avatar Aug 30 '24 20:08 CxRes