«Современные» веб-сайты (не приложения!) Включают множество внешних ресурсов, часто размещенных на сторонних доменах, таких как CDN (в лучшем случае). Хотя это раздражает, я понимаю цель этого.
Теперь, как я понимаю, работает кеширование:
- веб-сервер может указывать интервал истечения срока действия для типов ресурсов и
- браузеры будут повторно запрашивать только после истечения этого интервала (если не принудительно).
- Веб-серверы также могут указать в ответе 304, что у них нет ничего нового.
I развернуть статически сгенерированный сайт через GitHub Pages. Кажется, используются 10-минутные интервалы истечения для ресурсов CSS и JS; учитывая мой ожидаемый трафик c, это практически не кеширование: клиент обычно запрашивает эти ресурсы (и, я надеюсь, быстро получит 304).
Теперь я понимаю, что это лучшее, что вы можете сделать для сайтов Dynami c. Однако в случае со статически сгенерированными сайтами - которые, к счастью, становятся все более популярными - это кажется глупым. Мой генератор знает точно , когда файл изменялся (даже в разных сборках, если он отслеживает отпечатки пальцев). Поэтому было бы почти тривиально указать прямо в HTML, когда ресурс (CSS, JS, изображения, ...) был в последний раз изменен. Тогда браузеру даже не нужно будет выполнять удаленный вызов (который может включать накладные расходы DNS и SSL в случае DNS).
Тег link
не кажется поддерживать это любым способом. Есть другой? Или мне чего-то не хватает и это вообще не проблема?