You can also cache some content on a page, even for logged-in users, and add in the dynamic parts using ESI. For example an ecommerce site could have a category page cached, and have one section at the top that says "Hello, John Doe" generated dynamically and added in using ESI.
I'm not disagreeing.. but lots of people either dislike relying on JS, or would prefer to have the initial page load be a complete page.
If your AJAX is pulling down HTML fragments rather than JSON, then Varnish's ESI gives you the best of both worlds, allowing varnish the gather and assemble the initial page from the same endpoints your JS would hit.
Comments
You can also cache some content on a page, even for logged-in users, and add in the dynamic parts using ESI. For example an ecommerce site could have a category page cached, and have one section at the top that says "Hello, John Doe" generated dynamically and added in using ESI.
https://www.varnish-cache.org/trac/wiki/ESIfeatures
Or pull the dynamic parts in via ajax - I find that works quite well.
I'm not disagreeing.. but lots of people either dislike relying on JS, or would prefer to have the initial page load be a complete page.
If your AJAX is pulling down HTML fragments rather than JSON, then Varnish's ESI gives you the best of both worlds, allowing varnish the gather and assemble the initial page from the same endpoints your JS would hit.