It seems we have a bug in ProxyFacetSupport: indicate verified is invoked only after remote responds with 304, but it never happens with servers not supporting conditional GETs. Also, on servers supporting conditional GETs, it will be (potentially close) GET request that will mark the cache content as "verified", not honoring "maxItemAge" to perform re-check.
Problems in short:
1. - refetches always if remote does not support conditional GET (as no 304 arrives)
2. - fetches two times if remote does support conditional GET (as 304 will arrive on 2nd fetch, that is made conditional from cached content)
3. - fetches on every "stale" detected content if the format does not support lastModified and/or ETag. In this case unconditional GET is issued, and remote item is refetched over and over again, even if the locally cached one is same.
Fix for first two should be trivial in ProxyFacetSupport, just indicate verified on initial fetch too (200). For 3rd issue, proper Content support is needed.