Mise en cache des ressources dans les pages Github (github.io)

16

Est-il possible de mettre en cache des actifs dans des pages github? Je me demande si je devrais envisager de déplacer ma webapp de mon serveur personnel vers des pages github et la seule chose qui m'arrête jusqu'à présent est la suivante.

Adonis K. Kakoulidis
la source

Réponses:

17

Le serveur de github.io fait certainement de la mise en cache.

J'ai une démo en cours d'exécution là-bas et j'ai pu déterminer que le serveur définit Last-Modifiedce qui permet à un client d'utiliser If-Modified-Sinceet d'obtenir 304 du serveur si les données n'ont pas été modifiées depuis la dernière extraction. Le serveur définit également CacheControl: max-age=600. Je ne suis pas un spécialiste du cache, mais je comprends que cela signifie qu'un client peut extraire du cache sans revalider tant que les données ne datent pas de plus de 10 minutes. S'il a plus de 10 minutes, il doit vérifier auprès du serveur (revalider) et peut obtenir une réponse 304.

Le résultat est qu'un client ne retéléchargera pas quelque chose qui n'a pas changé, mais cela peut prendre jusqu'à 10 minutes pour qu'un client trouve qu'un changement s'est produit.

Tout cela, bien sûr, peut changer chaque fois que les administrateurs système de github.io décident de le changer.

Louis
la source
Mise en cache 10 minutes si très courte. Le CSS construit par Jekyll contient également un hachage, il doit donc être mis en cache pour toujours (car toute modification demandera en fait une URL différente). La vraie question est de savoir comment étendre Cache-Control sur les pages Github?
rds
@rds J'ai demandé à webapps.stackexchange.com/questions/119286/… de couvrir cela
Mateusz Konieczny