diff --git a/module/VuFind/src/VuFind/Controller/CoverController.php b/module/VuFind/src/VuFind/Controller/CoverController.php index 220f33fca16d817956c8cbf9d7f5a1da698a521b..e1fda710ba2ee5d2e5d842d9279b9033616d5bde 100644 --- a/module/VuFind/src/VuFind/Controller/CoverController.php +++ b/module/VuFind/src/VuFind/Controller/CoverController.php @@ -109,6 +109,22 @@ class CoverController extends AbstractBase $headers->addHeaderLine( 'Content-type', $this->getLoader()->getContentType() ); + + // Send proper caching headers so that the user's browser + // is able to cache the cover images and not have to re-request + // then on each page load. Default TTL set at 14 days + + $coverImageTtl = (60*60*24*14); // 14 days + $headers->addHeaderLine( + 'Cache-Control', "maxage=".$coverImageTtl + ); + $headers->addHeaderLine( + 'Pragma', 'public' + ); + $headers->addHeaderLine( + 'Expires', gmdate('D, d M Y H:i:s', time()+$coverImageTtl) . ' GMT' + ); + $response->setContent($this->getLoader()->getImage()); return $response; }