Для сайта на Laravel 5.3 установил плагин
Intervention Image Cache для кеширования изображений, опубликовал конфиги, задал пути.
Сделал роут для картинок. Проблема в том что каждый раз когда я обращаюсь к картинке через этот роут, она, я так понял заново, обрезается и кешируется, хотя картинка уже должна быть в кеше, и соответственно на сайте все изображения грузятся долго, хотя их размер по 30 -100 КБ.
Решение с
настройкой ответа, для кеширования на стороне браузера не чего не меняет ...
Вот мой код где я кеширую изображения:
$img = Image::cache(function($image) use($path) {
return $image->make($path)->resize(420, 360);
}, 43200, false);
И код ответа для роута:
$mime = finfo_buffer(finfo_open(FILEINFO_MIME_TYPE), $img);
return new IlluminateResponse($img, 200, [
'Content-Type' => $mime,
'Cache-Control' => 'max-age=' . 43200) . ', public',
'Etag' => md5($img)
]);
Теоретически все должно работать, в документации написано (
третей абзац) что каждый вызов "Image::cache" проверяет есть ли изображение в кеше, если да - берет от туда, если нет кеширует.
И вот мои тайминги с браузера: