Perhaps a 3-way flag, cache, nocache, none - so if the client says nocache or none then server uses nocache.  But if client says cache then server honors this explicit flag ?