Key point to note in the definition is share cache
From HTTP Header Field Definitions
14.9.3 Modifications of the Basic Expiration Mechanism
...
s-maxage
If a response includes an s-maxage directive, then for a shared cache (but not for a private cache), the maximum age specified by this directive overrides the maximum age specified by either the max-age directive or the Expires header.
...
It means that reverse proxy/caches like varnish, cloudfront, cloudflare can have a cache age different to browser cache.
I would personally prefer value of s-maxage
to be higher than maxage
In HTTP 1.1 once response is cached, you can't contact browser to invalidate cache but you can tell it to CDNs.