nginx http кеширование с etags

Nginx готовит W/ на etag, если включен gzip. Это означает, что это слабый этап.
Можно ли проверять наличие сильных или слабых etags с помощью php substr() — или я что-то здесь упускаю ….. есть ли лучший способ узнать, обслуживает ли nginx сжатый контент?

Я попытался проверить, включен ли gzip с помощью curl_init на моем собственном сервере, но он не работал и создавал цикл.

$etag = md5($request->getMatchedRoute());
if($browserEtag = $request->getHeader('If-None-Match')){
if(substr($browserEtag, 0, 2) === 'W/'){
$prefixEtag = 'W/';
}else{
$prefixEtag = '';
}

if($browserEtag === $prefixEtag.$etag){
$response->setStatus('304 Not Modified');
// only send headers and exit
$response->headerFlush();
}
}else{

$response->addHeader('ETag', $etag);
$response->addHeader('Cache-Control', 'public, max-age=6000');
$response->setBody(file_get_contents($somefile));
$response->flush();
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …