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

Review E-Tag support

Open michielbdejong opened this issue 4 years ago • 2 comments

From https://github.com/Otto-AA/solid-acl-utils/issues/1#issuecomment-560094697 :

NSS support for etags and if-match is currently not available (weak etags -> if-match gets ignored; etags not provided on GET requests; if-match maybe completely ignored by NSS)

ETag-based versioning is pretty basic, important functionality for a pod server. We should find out if it actually works properly in NSS currently, and maybe @kjetilk can also add it to the Solid test-suite! :)

michielbdejong avatar Dec 02 '19 09:12 michielbdejong

I will describe what I've experienced, so it's easier for you to understand the status quo. If you can't reproduce it, I can add more information on the context: HEAD request -> returns weak etag GET request -> returns no etag at all

Because only a weak etag is available, we can't use the If-Match header at all. ("However, in an If-Match header, weak entity tags will never match." according to MDN).

There are two related issues, but both have been closed without being resolved (I think it wasn't a priority back then) #644 #268

Otto-AA avatar Dec 03 '19 15:12 Otto-AA

You're welcome to take a look at the home-brewed strong ETag support in Achieve. I'd love to have an outside review of that anyway. :) https://github.com/highlevellogic/achieve/blob/master/achieve.js Browser caching has been quite reliable.

If you think it looks interesting, I can pull ETag support out into a separate module.

highlevellogic avatar Oct 22 '20 10:10 highlevellogic