Можно ли закэшировать через HTML

«Можно ли закэшировать через HTML» — вопрос из категории HTML, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно! HTML предоставляет несколько способов кэширования:

  1. <link rel="preload"> - предзагрузка ресурсов
<link rel="preload" href="style.css" as="style">
  1. <link rel="prefetch"> - предварительная загрузка для будущих навигаций
<link rel="prefetch" href="next-page.html">
  1. Кэширование через Service Worker (хотя это больше JS, но регистрируется в HTML)
<script>
  if('serviceWorker' in navigator) {
    navigator.serviceWorker.register('/sw.js');
  }
</script>
  1. HTTP-кэширование через заголовки, которые можно задать в .htaccess или серверной конфигурации

Для статических ресурсов эффективнее использовать HTTP-кэширование (Cache-Control, ETag), но HTML-теги помогают оптимизировать загрузку критически важных ресурсов.