Ajax: Use weak ETag header in tests

See http://en.wikipedia.org/wiki/HTTP_ETag#Strong_and_weak_validation

Close gh-1448
This commit is contained in:
Corey Frang 2013-11-26 12:45:39 -06:00 committed by Dave Methvin
parent ed291938c2
commit d2aa969206

View File

@ -4,13 +4,16 @@ error_reporting(0);
$ts = $_REQUEST['ts'];
$etag = md5($ts);
$ifNoneMatch = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) : false;
$ifNoneMatch = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) : "";
preg_match('/"([^"]+)"/', $ifNoneMatch, $matches);
$ifNoneMatch = isset($matches[1]) ? $matches[1] : false;
if ($ifNoneMatch == $etag) {
header('HTTP/1.0 304 Not Modified');
die; // stop processing
}
header("Etag: " . $etag);
header("Etag: W/\"" . $etag . "\"");
if ( $ifNoneMatch ) {
echo "OK: " . $etag;