$headers['Cache-Control'] = "public, must-revalidate, max-age=3600, s-maxage=3600"; break; case "cache-control-override": $headers['Expires'] = toUTCDate($expires_date); $headers['Cache-Control'] = "public, must-revalidate, max-age=2, s-maxage=2"; break; case "last-modified": $headers['Last-Modified'] = LAST_MODIFIED_STRING; $headers['Etag'] = md5(12345); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) and $_SERVER['HTTP_IF_MODIFIED_SINCE'] == LAST_MODIFIED_STRING) { header("HTTP/1.1 304 Not Modified"); exit; } break; case "vary": $headers['Expires'] = toUTCDate($expires_date); $headers['Vary'] = 'User-Agent'; break; } sendHeaders($headers); } function sendHeaders(array $headerList) { foreach ($headerList as $name => $value) { header("{$name}: {$value}"); } } function toUTCDate(DateTime $date) { $date->setTimezone(new DateTimeZone('UTC')); return $date->format('D, d M Y H:i:s \\G\\M\\T');
$headers['Cache-Control'] = "public, must-revalidate, max-age=3600, s-maxage=3600"; break; case "cache-control-override": $headers['Expires'] = toUTCDate(new DateTime(EXPIRES_DATE)); $headers['Cache-Control'] = "public, must-revalidate, max-age=2, s-maxage=2"; break; case "last-modified": $headers['Last-Modified'] = LAST_MODIFIED_STRING; $headers['Etag'] = md5(12345); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) and $_SERVER['HTTP_IF_MODIFIED_SINCE'] == LAST_MODIFIED_STRING) { header("HTTP/1.1 304 Not Modified"); exit; } break; case "vary": $headers['Expires'] = toUTCDate(new DateTime(EXPIRES_DATE)); $headers['Vary'] = 'User-Agent'; break; } sendHeaders($headers); } function sendHeaders(array $headerList) { foreach ($headerList as $name => $value) { header("{$name}: {$value}"); } } function toUTCDate(DateTime $date) { $date->setTimezone(new DateTimeZone('UTC')); return $date->format('D, d M Y H:i:s \\G\\M\\T');