Full page cache
See the original post on my blog for context on how to setup edge rules in Bunny so that HTML is cached on Bunny’s CDN’s points of presence.
This site’s HTML and XML are cached in Bunny’s European and North American edge endpoints. When the browser requests this page, the following scenarios happen:
- A
200is returned with thecdn-cache: MISSheader if the page is not cached in the closest edge endpoint. - A
200is returned with thecdn-cache: HITheader if the page is already cached in the closest edge endpoint. - A
304is returned with thecdn-cache: HITheader if the page is already cached in the closest edge endpoint, and the browser has already requested it before, and the cached page has not been modified since then.
The browser is instructed to always validate with the server, no browser cache is instructed otherwise the site owner cannot have changes propagated to browsers at will.
For the sake of a counterexample, I’ve setup the rules so that /no-cache/ bypasses the rules. This page hits the origin, which is Bunny’s file storage endpoint in Frankfurt, Germany.
You might be interested in my post on how to automate cache invalidation using Rclone.