There's also a requirement in Constructing Responses from Caches, although only regarding
There are a few things to unpack here:
I think we can craft requirements that only apply to forward proxies but not reverse ones. Question is what do browsers want to do here? /cc @annevk
I am pretty sure the original intent of these requirements were for caches not controlled by the origin (e.g., CDNs and reverse proxies were not considered caches when those requirements were made). I am sure the intent was to ensure semantic transparency, which is also subject to origin control.
My opinion has always been that they should be an optional preference, not hard requirements, since a single user's desire for semantic transparency does not automatically override a site's need for availability under load. I was out-hummed on that a long time ago (1996-ish).
Apache httpd implements them as specified. I would prefer it be a config option that might be dynamically adjusted based on whether it is operating as a shared cache, a reverse proxy, or under load.