title: Http Header Vary: Origin causes cache fail in Internet Explorer in Google Cloud Storage
body: <p>We've set up a Google Cloud Storage bucket with the intention of serving web fonts. By using the CORS settings we can correctly serve woff fonts to IE 9, webkit, firefox; eot to 7 and 8 etc. <strong>Cache-control</strong> is set to far future. Behaviour is as expected in webkit / mozilla browsers - the font is requested once and cached on the client computer.</p>
  
  <p>However, the <strong>Vary: Origin</strong> header (which appears to be unmodifiable) causes Internet Explorer to issue an If-
  Modified-Since request on each page request, resulting in a 304. This every-page-revalidation from IE means that there is a flash of unstyled content for every page, so we've had to revert to using our own server where we have more control over the headers. </p>
  
  <p>We've reproduced this locally. Our testing has show it makes no difference whether the font file is served from the same origin or a cdn, with or without an Access-Control-Allow-Origin directive. The key problem is entirely the Vary header, and Goolge's servers setting it to <strong>Origin</strong>.</p>
  
  <p>This behaviour is common to IE7, IE8 and IE9. It can be solved by a) changing the Vary header to <strong>Vary: Accept-Encoding</strong> or b) <strong>removing</strong> the Vary header altogether, whereupon everything behaves normally.</p>
  
  <p>With the current configuration then Google Cloud Storage cannot be used as a cdn for font files, which is frustrating. </p>
  
  <p>Is there any way to control the Vary header? Is this something that might be considered? And if not, are there any CDNs support that feature?</p>
  
  <p>Thanks.</p>