-
Notifications
You must be signed in to change notification settings - Fork 34
Mise en cache des tuiles
Kartotherian permet d'ajouter des headers dans les réponses, ce qui permet notamment de gérer la politique de cache.
Exemple (utilisé par wikimedia): Cache-Control: public, max-age=86400, s-maxage=86400 Ce qui permet d'indiquer aux caches (navigateurs compris) de conserver les tuiles pendant 24h (valeur à adapter ?).
En revanche, Kartotherian n'ajoute pas de header ETag, ni Last-Modified qui permettraient d'identifier les tuiles expirées plus précisément. (Est-il envisageable d'ajouter un hash de la tuile en tant que ETag ?) Actuellement le comportement de kartotherian concernant ces headers est totalement bugué (cf https://github.com/kartotherian/cassandra/pull/2 et https://phabricator.wikimedia.org/T108435). À suivre.
Par exemple, le SDK Mapbox évite de retélécharger les tuiles non modifiées (via le header If-None-Match). cf pour Android https://github.com/mapbox/mapbox-gl-native/blob/v5.0.2/platform/darwin/src/http_file_source.mm#L213-L219
Il serait préférable de setter les headers correctement en amont, pour éviter des configs de cache plus complexes.
À définir :
- Mémoire à allouer (en RAM uniquement ?) Le repo Kartotherian propose ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,4g