I have this in my web.config:
<system.webServer>
      <httpProtocol>
          <customHeaders>
              <clear />
              <add name="Cache-Control" value="max-age=30,public" />
          </customHeaders>
      </httpProtocol>
</system.webServer>
But when I load the page, this is the response header:
Cache-Control: private,max-age=30,public
It is an ASP.NET MVC application, the controller has no cache directives specified anywhere.
 
    