2010-12-30 4 views
5

HTTP 1.1 ha introdotto una nuova classe di intestazioni, intestazioni di risposta Cache-Control, per offrire agli editori Web un maggiore controllo sui loro contenuti e per affrontare i limiti di Expires.Intestazioni HTTP: il controllo della cache è sufficiente o ho ancora bisogno di scade?

La scadenza è una specie di sofferenza dovuta ai suoi limiti. Innanzitutto, poiché è coinvolta una data assoluta, gli orologi sul server Web e la cache del client devono essere sincronizzati; se hanno un'idea diversa del tempo, i risultati attesi non saranno raggiunti e le cache potrebbero erroneamente considerare i contenuti non aggiornati come freschi.

Un altro problema con Expires è che è facile dimenticare che alcuni contenuti scadono in un determinato momento. Se non aggiorni un tempo di Scadenza prima che passi, ogni singola richiesta tornerà al tuo server Web, aumentando il carico e la latenza.

Quindi, è necessario utilizzare Expires o Cache-Control (in particolare, max-age impostato su un numero di secondi molto futuro) sufficiente per il mio contenuto statico? Mi piacerebbe evitare l'uso di Expires, ma dovrei impostare entrambi?

risposta

5

In generale, è considerata una buona pratica utilizzare entrambi, poiché gli Expires saranno compresi anche da proxy/client HTTP/1.0 (sebbene possano essere rari).

Quasi tutte le piattaforme server calcolano dinamicamente l'intestazione Expires per te.

+0

Vedrò cosa posso fare con Amazon S3. E penso che impostare l'header Expires ogni pochi mesi non sia così oneroso. – Rudiger