Cachování souborů přenášených přes HTTP

Tento článek popisuje nastavení HTTP cacheování, které je primárně určeno ke snížení zátěže databázových serverů snížením požadavků z origin serverů, tedy strojů s HTTP daemonem, zachycením cacheovatelných objektů na web cache serverech, které stojí mezi orginy a klienty (klient->web cache->origin->db)

Web cache servery(Varnish,Squid,Apache Traffic Server) respektují HTTP protokol a tudíž své cacheování řídí HTTP hlavičkamy, které dostanou od aplikace(na origin serveru).

Poznatky o “správnosti HTTP hlaviček” :

  • Pragma: no-cache – poměrně pofidérní hlavička, která není plně podporována, ale pro HTTP/1.0 je to nejspíš jediná možnost
  • Expires – hlavička podporovaná “téměř všemi HTTP klienty” – velmi použitelná a neměla by být(dle RFC) nastavena na datum větší než rok v budoucnosti. Obsah hlavičky je GMT čas
  • Cache-Control – Cache-Control rozšiřuje možnosti hlavičky expires a má tyto možnosti :