Autor Zpráva
Serg
Profil
Ahoj, řeším cache dat pro našeptávač.
Momentálně to mám řešené tak, že jsou data uložená v JS souboru jako:
var dataProNaseptavac = { /* JSON data */}
a do stránky to vkládám klasicky pomocí
<script src="cache/dataProNaseptavac.js"></script>
Když se změní data v DB, tak se přegeneruje tento soubor.
Chtěl bych, aby byl u uživatele tento soubor vždy fresh, ale zároveň, aby když se nezmění, tak aby se nemuselo pokaždý zbytečně stahovat řekněme třeba 100kB navíc.

Na localhostu jsem měl v té složce .htaccess s jediným příkazem:
Header set Cache-Control "max-age=0, must-revalidate"
Ale na hostingu to kvůli tomu házelo chybu 500, takže to vypadá, že hosting nemá povolený příkaz Header.
K apache error-logu jsem se tam taky nedostal, ale tak u free hostingu je to asi v pohodě. Každopádně po zakomentování toho řádku to už neháže chybu 500.

Existuje nějaký jiný způsob, jak prohlížeči říct, že chci aby pro tento soubor nastavil daný Cache-Control?
Třeba <script src="soubor.js" cache="no-cache; must-revalidate"></script>
Kajman
Profil
Do cesty v src přidejte do query stringu např. datum modifikace souboru. Pro prohlížeč to pak bude jiná cesta a po aktualizaci si ho stáhne znovu.
Serg
Profil
A jo, to mě nenapadlo, děkuju

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0