Někdy budete muset na úrovni HTML hlaviček vypnout kešování požadované stránky (cache). Důvod je zřejmý: měnící se obsah a snaha o zajištění distribuce aktuálního obsahu. Pak by se mohlo hodit info jak na to.
Nejdřív finta…
Možná nejjednodušším řešením jak zamezit kešování je změna adresy v samotném odkazu na stránku, kterou nechcete kešovat:
Odkaz nekam
Ze serveru se generuje stránka, která obsahuje pokaždé jiný odkaz. Ten se mění díky vkládání časového razítka přímo do URL odkazu a proto bude stránka po každé znovu načtena…
A nebo pak jinak…
HTML
NodeJS
app.get('/', function (req, res) {
res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');
res.header('Expires', '-1');
res.header('Pragma', 'no-cache');
res.rendet('nejaka-sablona', nejadaData);
});
PHP
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
Python s Flaskem
resp.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" resp.headers["Pragma"] = "no-cache" resp.headers["Expires"] = "0"
Nginx
location / {
add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
expires off;
}
Apache .htaccess
Header set Cache-Control "no-cache, no-store, must-revalidate" Header set Pragma "no-cache" Header set Expires 0