title: What is the Pragma Header? Caching pages.. and IE
body: <p>So I am sending a header in php to cache my page (this integrates into our "CDN" (contendo/akamai) as well). I always use this pragma: cache header, I've seen various examples use it as well; however, I just checked fiddler to test traffic for this .net application we developed and it says: </p>
  
  <blockquote>
  <pre><code>Legacy Pragma Header is present: cache
  !! Warning IE supports only an EXACT match of "Pragma: no-cache". IE will ignore the Pragma header if any other values are present.
  ...
  </code></pre>
  </blockquote>
  
  <p>I suppose that is ok. The rest of the response seems fine and to my specs. Here is my code:</p>
  
  <pre><code>function headers_for_page_cache($cache_length=600){
      $cache_expire_date = gmdate("D, d M Y H:i:s", time() + $cache_length);
      header("Expires: $cache_expire_date");
      header("Pragma: cache");
      header("Cache-Control: max-age=$cache_length");
      header("User-Cache-Control: max-age=$cache_length");
  }
  </code></pre>
  
  <p>The question is does this matter? What does the pragma header even do? Do I need it? I checked the HTTP header spec documentation and it said it is implementation specific and the only Pragma that is enforced is "Pragma: no-cache". </p>
  
  <p>Is this the best choice of headers to cache for a specific amount of time?</p>