4 ms·
The reason I'm a little disappointing about this, is because I was really hoping for a future where we improve sending collections of items from APIs. One issu
by treve 4y ago
The reason I'm a little disappointing about this, is because I was really hoping for a future where we improve sending collections of items from APIs.
One issue with the typical API formats is that all the data for each resource is shipped with the collection, which means that client caches are unaware of the 'transcluded'/'embedded' resources.
Server push, if implemented well could have allowed us to just push every collection member down the wire. Push lets you solve the Q+1 issue because all members can be generated together.
I did some work trying standardize a simple version of this: https://datatracker.ietf.org/doc/html/draft-pot-prefer-push-01 https://datatracker.ietf.org/doc/html/draft-pot-prefer-push-...
Also, at some point there were talks about a browser request header that would send the browsers' cache state as a bloom filter to the server, which would let the browser have a pretty good idea of what not to send.
When the push removal was originally announced, I wrote a bit more about this: https://evertpot.com/http-2-push-is-dead/ https://evertpot.com/http-2-push-is-dead/
Anyway, I'm disappointed this happens. I get that people had trouble putting push to good use, but in my opinion this just needed more time to brew. Once Chrome announced the removal, all of this died.
- nine_k 4y agoI'm afraid per-item responses are not very realistic, even with HTTP/2 and efficient message formats. The items then begin to be comparable, or smaller, than the client identity token sent with each request. Its size is limited by cryptography. Caching is also notoriously hard to get right. Apps (including web apps) usually prefer to depend on their own caching: it saves them more in development and support expenses.
- lsaferite 4y agoFunny thing is that I was just looking into how this software could work with APIs and now it seems like it's dead in the water if the support is removed from the browser. Sure, it's a progressive enhancement and you wouldn't break anything, but you lose all the benefit as far as I can tell and you _are_ adding an extra layer. https://github.com/dunglas/vulcain https://github.com/dunglas/vulcain