diff options
author | Carl Schwan <carl@carlschwan.eu> | 2022-02-11 22:14:04 +0100 |
---|---|---|
committer | Carl Schwan <carl@carlschwan.eu> | 2022-02-18 14:28:24 +0100 |
commit | f6d0bb419ede2acf2c7ef0e42d1647ff56bee085 (patch) | |
tree | 37eb2763d4e6eaba41f2e043b96c4e922466d3fb /lib/public | |
parent | cbc1cc78d1251028dab636ac40f558622d59941f (diff) | |
download | nextcloud-server-f6d0bb419ede2acf2c7ef0e42d1647ff56bee085.tar.gz nextcloud-server-f6d0bb419ede2acf2c7ef0e42d1647ff56bee085.zip |
Improve caching policy
* Cache css with version in url. This makes most js and css requests to
be cached by the browser
* Force caching previews, the etag is in the url so that if the propfind
gives a new etag, we will refresh it otherwise it's no use to try to
fetch the new etag and do tons of DB queries
Tested with firefox and 'debug' => false (important so that the js/css
urls are generated with ?v= parameter)
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/AppFramework/Http/Response.php | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/public/AppFramework/Http/Response.php b/lib/public/AppFramework/Http/Response.php index ee10d483b25..1a84affbe57 100644 --- a/lib/public/AppFramework/Http/Response.php +++ b/lib/public/AppFramework/Http/Response.php @@ -103,10 +103,10 @@ class Response { * @return $this * @since 6.0.0 - return value was added in 7.0.0 */ - public function cacheFor(int $cacheSeconds, bool $public = false) { + public function cacheFor(int $cacheSeconds, bool $public = false, bool $immutable = false) { if ($cacheSeconds > 0) { $pragma = $public ? 'public' : 'private'; - $this->addHeader('Cache-Control', $pragma . ', max-age=' . $cacheSeconds . ', must-revalidate'); + $this->addHeader('Cache-Control', sprintf('%s, max-age=%s, %s', $pragma, $cacheSeconds, ($immutable ? 'immutable' : 'must-revalidate'))); $this->addHeader('Pragma', $pragma); // Set expires header |