När hämtas en cachad fil på nytt?

Permalänk
Medlem

När hämtas en cachad fil på nytt?

Hej!

Jag har en WP-sida på en Apache-server och försöker lära mig hur cache fungerar. Låt oss säga att jag i .htaccess skriver

cache-control: max-age=3600

Då tolkar jag det som att alla filer cachas i en timme. Så om samma fil behövs igen inom en timme kommer den hämtas från cache och inte från servern. Men när man googlar på ämnet rekommenderas vissa filtyper att cachas i upp till ett år (bildfiler som sällan ändras till exempel). Det kan väl dock inte innebära att OM jag ändå uppdaterar bildfilen så dröjer det upp till ett år innan ändringen ses hos användare som redan cachat sidan? Om så är fallet, hur gör jag för att dessa användare ska tvingas hämta filen igen?

Om jag istället ändrar i .htaccess till

cache-control: max-age=60

Kommer detta då bara gälla filer som cachas från och med ändringen? Eller blir .htaccess läst varje gång en hemsida ska laddas så att eventuella uppdateringar i "cache-control" uppdateras i redan cachade filer också?

MVH
Andreas

Permalänk
Medlem

Det man brukar göra är att ge den ändrade filen ett nytt namn. På så sätt kommer webbläsaren alltid hämta den nya filen.

Det hjälper inte att sänka cache-tiden för att tvinga webbläsaren att ladda ner på nytt, det är inte alltid webbläsaren frågar servern om filen är utdaterad.

Permalänk
Medlem
Skrivet av dlq84:

Det man brukar göra är att ge den ändrade filen ett nytt namn. På så sätt kommer webbläsaren alltid hämta den nya filen.

Det hjälper inte att sänka cache-tiden för att tvinga webbläsaren att ladda ner på nytt, det är inte alltid webbläsaren frågar servern om filen är utdaterad.

Tack för ditt svar!

Betyder det att en hemsida som cachats på ett år inte kommer hämtas igen förrän det året har gått även om innehållet på sidorna ändrats (och filnamnet är detsamma)?

Det givna vore ju att ge nya filer ett nytt namn, men låt oss då säga att jag går in och gör en mindre textändring på en sida. Måste jag då döpa om den sidan och ändra alla länkar som pekar på den?

MVH
Andreas

Permalänk
Hedersmedlem
Skrivet av Ande:

Tack för ditt svar!

Betyder det att en hemsida som cachats på ett år inte kommer hämtas igen förrän det året har gått även om innehållet på sidorna ändrats (och filnamnet är detsamma)?

Det givna vore ju att ge nya filer ett nytt namn, men låt oss då säga att jag går in och gör en mindre textändring på en sida. Måste jag då döpa om den sidan och ändra alla länkar som pekar på den?

MVH
Andreas

Det beror ju på hur aggressivt dina besökares webbläsare tömmer sina cache, men i teorin ja.

Men den vettigare lösningen är ju att helt enkelt ha en kortare cache-tid för själva webbsidorna (de är ju små, och kan ändras lite då och då) och en längre cache-tid för bilder (som aldrig ändras, och när de gör det så kommer de med nytt filnamn).

Permalänk
Medlem
Skrivet av pv2b:

Det beror ju på hur aggressivt dina besökares webbläsare tömmer sina cache, men i teorin ja.

Men den vettigare lösningen är ju att helt enkelt ha en kortare cache-tid för själva webbsidorna (de är ju små, och kan ändras lite då och då) och en längre cache-tid för bilder (som aldrig ändras, och när de gör det så kommer de med nytt filnamn).

Det är helt klart den vettigare lösningen, problemet är att jag tagit över en hemsida som sedan tidigare haft lång cache-tid på alla filtyper och nu försöker jag lista ut hur jag, utan att behöva döpa om alla filer, ska göra för att säkerställa att återvändande besökare får den senaste versionen av alla sidor och filer. Något förslag?

Permalänk
Hedersmedlem
Skrivet av Ande:

Det är helt klart den vettigare lösningen, problemet är att jag tagit över en hemsida som sedan tidigare haft lång cache-tid på alla filtyper och nu försöker jag lista ut hur jag, utan att behöva döpa om alla filer, ska göra för att säkerställa att återvändande besökare får den senaste versionen av alla sidor och filer. Något förslag?

Hur lång tid är lång? Är det rimligt att bara vänta ut tiden så är det väl bara att sänka max-age nu. Allt eftersom grejerna faller ur cache så kommer cache-tiden att uppdateras med det nya värdet.

Permalänk
Medlem
Skrivet av pv2b:

Hur lång tid är lång? Är det rimligt att bara vänta ut tiden så är det väl bara att sänka max-age nu. Allt eftersom grejerna faller ur cache så kommer cache-tiden att uppdateras med det nya värdet.

Jag vet inte exakt då jag inte vet hur .htaccess såg ut tidigare, men vi hade helst sluppit vänta ut den då mycket av den cachade informationen idag är felaktig och vi vill inte att den ska visas. Det var i samband med en stor uppdatering nyligen som det uppdagades att ingen kunde se den nya informationen utan att tvångsladda sidan från servern, och det kan vi inte räkna med att alla användare ska göra.