wp-graphql-smart-cache icon indicating copy to clipboard operation
wp-graphql-smart-cache copied to clipboard

feat: seperate `max-age` and `s-maxage`

Open moonmeister opened this issue 1 year ago • 1 comments

Hey, for GET request caching the Cache-Control max-age setting also controls s-maxage. This seems counterproductive considering the plugin is purging shared caches for us...theoretically. I guess there could be shared caches beyond our CDN of choice (WP Engine Cloudflare in my case).

max-age=604800, s-maxage=604800, must-revalidate

Ideally, I'd like to tell it to never purge my CDN of choice...or on a very long timeline...but make the browser max-age very short. The option to do stale-while-revalidate or stale-while-error (though this isn't well supported) would also be slick.

Lots of ideas here. I think separating s-maxage and max-age would be good to start.

Thoughts?

moonmeister avatar Apr 26 '24 04:04 moonmeister

Note: I think the s-maxage is actually from the HEAD request before the GET. The get only has max-age. We could still improve the header capabilities.

moonmeister avatar Apr 26 '24 19:04 moonmeister