Cache-control: max-age=0
" + If-Modified-Since
+ If-None-Match
)
Cache-Control: immutable, ...
" (doc, raison)
Cache-Control: no-cache
")Cache-Control
, c'est globalement clair (NB : remplace Pragma
et Expires
) :
Cache-Control: max-age=3600
: mettre en cache 1hCache-Control: no-store, no-cache
: ne pas mettre en cacheCache-Control
(et de Expires
) ?
Last-Modified
, heuristique 10% (détails)
(avec un max à 7 jours pour Firefox : explications, upstream issue)
session_start
(ref)Cache-Control
.
GET https://www.renater.fr/sites/default/files/inline-images/logo_RENATER-2.svg
HTTP/1.1 200 OK
Date: Mon, 29 Nov 2021 16:18:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Last-Modified: Thu, 29 Nov 2018 14:53:24 GMT
⇒ le fichier est vieux de 3 ans
logo_RENATER-2.svg?v=3
🥱Last-Modified
est renvoyé, sans permettre de configurer un temps de cache 😢
Header setifempty Cache-Control "max-age=3600" "expr=-n resp('Last-Modified') && -z resp('Expires')"
header_filter_by_lua_block {
if (not ngx.header["Cache-Control"] and not ngx.header["Expires"] and ngx.header["Last-Modified"]) then
ngx.header["Cache-Control"] = "max-age=3600"
end
}
logo_RENATER-2.svg?v=3
/js/GlobalUi.js?version=1.15.3-SNAPSHOT
/webjars/pdfjs-dist/2.9.359/build/pdf.js
/assets/index.dd791d5c.js
<link rel="stylesheet" href="./src/assets/lib.css">
<link rel="stylesheet" href="./src/assets/app.css">
...
<script type="module" src="/src/main.js"></script>
devient
<script type="module" crossorigin src="/assets/index.dd791d5c.js"></script>
<link rel="modulepreload" href="/assets/vendor.00faadaa.js">
<link rel="stylesheet" href="/assets/index.0c658012.css">
Cache-Control
est bien positionné.Vary
Clear-Site-Data: cache
" bof comme solution! (et ne marche pas sur Safari)