La maggior parte dei siti Web ha impostato max-age=31536000
(1 anno) sulle intestazioni Cache-control
di asset statici come le immagini del logo. Esempi:
Ma c'è un'eccezione notevole: il logo di Google ha max-age=691200
(8 giorni).
Ho controllato le intestazioni sul logo di Google in passato, e sicuramente era di 1 anno. (Inoltre, faceva parte di uno sprite e ora è un'immagine di logo standalone, ma probabilmente è un'altra domanda ...)
Quali potrebbero essere validi motivi tecnici per cui vorrebbero ridurre la durata della cache a soli 8 giorni? La home page di Google è una delle pagine più attentamente ottimizzate al mondo, quindi immagino ci sia una buona ragione.
Modifica:
Assicurati di aver compreso questi punti prima di rispondere:
-
Nessuno usa una durata pari a% di
max-age
per consentire la modifica di un asset statico in futuro. Quando lo modifichi, lo servi solo con un URL diverso. Quindi no, non ha nulla a che fare con i doodle di Google. Pensaci: anche se Google non capisse questo trucco base di HTTP, 8 giorni ancora non sarebbero appropriati, in quanto solo quegli utenti che non hanno il logo originale nella cache vedrebbero il doodle su doodle-day - e poi quel gruppo di utenti continuerebbe a vedere il doodle per i seguenti 8 giorni dopo che Google lo ha cambiato:) -
I server Web non si preoccupano di "riempire" le cache dei client (o dei proxy) .Il client lo gestisce da solo - quando raggiunge il limite di archiviazione, inizia a rilasciare gli elementi con priorità più bassa per creare spazio per nuovi elementi. Il punteggio di priorità si basa sulla domanda "Quanto posso trarre vantaggio dall'aver memorizzato nella cache questo URL?", il che non ha nulla a che fare con quale valore di
max-age
il server inviato quando l'URL è stato originariamente richiesto; è un euristico basato sulla frecency 'di richieste per quell'URL. Ilmax-age
lascia semplicemente che il server imposti un taglio -off point - il momento in cui il client deve scartare l'articolo indipendentemente dalla frequenza con cui viene riutilizzato. Sarebbe molto bello e fidarsi di un client / proxy downstream per fare affidamento sui server di origine "trattenendo" dal riempimento i loro nascondigli, ma non credo che viviamo in quel mondo;)