Resource Hints — это механизмы, которые позволяют браузеру заранее узнавать о ресурсах, которые понадобятся для рендеринга страницы. Они помогают оптимизировать загрузку, сокращая время до первого отображения контента и улучшая пользовательский опыт. В JavaScript и веб-разработке использование resource hints является одним из инструментов повышения производительности.
preload Атрибут rel="preload"
сообщает браузеру о необходимости загрузки ресурса заранее, до того как
он понадобится для рендеринга страницы. Пример использования:
<link rel="preload" href="main.css" as="style">
<link rel="preload" href="script.js" as="script">
Ключевые моменты:
href — URL ресурса.as — тип ресурса (script,
style, image, font и т.д.), что
позволяет браузеру применить правильные приоритеты и кэширование.preload не гарантирует использование ресурса, но
ускоряет его доступность.prefetch Атрибут rel="prefetch"
используется для загрузки ресурсов, которые будут нужны в будущем,
например, на следующей странице. Пример:
<link rel="prefetch" href="next-page.js">
Отличие от preload:
prefetch выполняется с низким приоритетом.dns-prefetch Этот hint инициирует предварительное разрешение DNS для домена, что сокращает время подключения. Пример:
<link rel="dns-prefetch" href="//example.com">
Полезен при работе с внешними API, шрифтами и изображениями.
preconnect Устанавливает предварительное соединение с сервером, включая DNS, TCP и TLS. Пример:
<link rel="preconnect" href="https://example.com">
Отличие от dns-prefetch: preconnect
включает установку соединения, что экономит время при первом
запросе.
prerender Загружает и рендерит страницу в фоновом режиме, чтобы переход на неё происходил мгновенно. Пример:
<link rel="prerender" href="/next-page.html">
Этот подход требует осторожности: ресурсы могут быть потрачены на страницы, которые пользователь так и не откроет.
Lighthouse автоматически анализирует использование resource hints и оценивает их влияние на производительность. В отчётах можно найти следующие рекомендации:
FCP) и времени до
интерактивности (TTI).prefetch
или prerender, когда ресурсы загружаются слишком рано или
без приоритета.preload критичных ресурсов, затем prefetch для
будущих переходов.as для preload: это
помогает браузеру корректно кэшировать ресурс и применить правильные
политики безопасности.Эффективное применение resource hints может значительно ускорить страницу:
Использование Resource Hints — это стратегический инструмент оптимизации, который сочетает планирование загрузки и контроль приоритетов ресурсов. Комбинация preload, prefetch, preconnect и dns-prefetch позволяет добиться заметного улучшения показателей Lighthouse и пользовательского опыта.