Since the switch to Git average request count has gone up. Previously images, etc. were allowed to be cached by the browser. But the associated Apache config change (56810fdef9) added a restriction of must-revalidate and max-age=0 for no apparent reason.
<Location ~ "^/$|^/portal/"> Header set Cache-Control "s-maxage=3600, must-revalidate, max-age=0" </Location>
I'd recommend a value there of 24 hours or more.
At the very least the current value of server max-age 3600 (1 hour) should be set for the client max-age as well, and remove the must-revalidate instruction. This is currently forcing browsers to make new requests for all sub resources (images, js) every repeated visit.
If you want to maintain that all clients get the same cache entry form the server for the page HTML (which is a good reason, we do the same for article content), then split the <Location> tag to be separate for ^/$ (the portal entry) and ^/portal/` (the sub resources). Unique unique file names already ensure that backward-incompatible changes don't affect cached resources.