Tech Preview: Edgestash – Making the Mobile Web Faster
info.varnish-software.com
info.varnish-software.com
Or, does this allow your browser to fire a JSON (POST) request to an edge node where the varnish server will reconstruct the page based on the request parameters? If this is the case, cool. But, as I understand this, it will still require some sort of Javascript framework on the client side to actually construct the proper JSON requests.
This is https://en.wikipedia.org/wiki/Server_Side_Includes with another alternative language, it seems?
With edgestash it looks like varnish holds the template, compiles it, caches it, then injects values in to it from JSON, which is easier for the server to generate and easier for varnish to inject the values from.
For HTML that's very dynamic based on user data ESI isn't an ideal solution, you either end up with a ton of includes (and thus a ton of requests), or you end up basically having only the shell of a web page cached by varnish. With edgecache you would have a single request (or a handful) returning all the data as JSON, and varnish would have a cache of basically the entire page to inject the values in to. Your server-side code doesn't have to deal with HTML at all, it just provides data. I'd say it's less competitive with ESI and more closely competing with single page apps, but you're moving the load back on to your server so clients aren't downloading javascript for injecting data in to HTML templates.
Then many developers switched to single page applications where users download the template and the javascript code and data to populate it, then render the template client-side.
As Varnish Software points out in this blog post, SPAs often have terrible performance, especially on mobile. What they seem to be suggesting as the fix is a strange hybrid: Your application server continues to serve the unrendered template and data to populate it, your varnish cache renders the template, and the user receives HTML.
Best headline I read in a while. This made my day :)