Der Server bei github.io macht auf jeden Fall Caching.
Ich habe dort eine Demo gestartet und konnte feststellen, dass der Server so konfiguriert ist Last-Modified
, dass ein Client If-Modified-Since
die Daten verwenden und vom Server abrufen kann, wenn sie seit dem letzten Abrufen nicht geändert wurden. Der Server legt auch fest CacheControl: max-age=600
. Ich bin kein Cache-Spezialist, aber ich verstehe, dass ein Client möglicherweise Daten aus dem Cache abruft, ohne sie erneut zu validieren, solange die Daten nicht älter als 10 Minuten sind. Wenn es älter als 10 Minuten ist, muss es sich beim Server erkundigen (erneut validieren) und erhält möglicherweise eine Antwort 304.
Das Ergebnis ist, dass ein Client etwas, das sich nicht geändert hat, nicht erneut herunterlädt. Es dauert jedoch bis zu 10 Minuten, bis ein Client feststellt, dass eine Änderung stattgefunden hat.
All dies kann sich natürlich ändern, wenn die Sysadmins bei github.io beschließen, es zu ändern.