Post

tangentially related, i have been contemplating a CNAR archive format (content-negotiated archive) for representational variants of the same logical objects

interesting. like a container with multiple possible encodings inside? (hubble supports http content negotiation for star-lite vs car format for `getRepo`, but leaves it at the transport layer)

0 reposts3 likes

i am a huge fan of conneg (and have been since i first learned about it circa i dunno, 2000?) imo it's one of the essential advantages of web-based information resources over just plain files, but i can understand the positions of eg the ipfs people that it complicates things

also a big fan of content negotiation! though i'm not sure i'm fully connecting cnar through the apache example. is cnar a server-side representation, and then http content negotiation selects which kind is sent to a client?

yeah the idea would be to bake together all the variants of the same logical resource (assuming it was something that only made sense to GET) so you could cache or ship it around as a unitary file-like blob (on stuff like ipfs even), then plus do things like assert preferences for certain variants

(for hubble, it's actually very cheap to render the archive into either format on-demand and not deal with cache invalidation. and star-lite <-> car conversion is lossless, so it would probably just cache CARs if anything and convert on the fly. maybe this makes hubble a special case though)