public were defined in the cache-control, e.g.
What is the expected behavior?
It seem it tells browser that the cache expires after 1 year, 31461276 seconds means 1 year.
More details in this post: EXPIRES VS. MAX-AGE
The max-age directive on a response implies that the response is cacheable (i.e., "public") unless some other, more restrictive cache directive is also present.
It's conceivable (likely?) that there are proxies in the wild which break this but since the only failure mode could be treating a public resource as private the consequences should be minimal beyond a modest performance hit. You'll have far more problems with proxies which do things like cache resources far beyond your specified