Spec-Zone.ru › HTML

rel="prefetch" значение атрибута

Ограниченная доступность

Эта функция не входит в Baseline, поскольку она не работает в некоторых из самых популярных браузеров.

  • Подробнее
  • Полная таблица совместимости
  • Оставить отзыв
>

Ключевое слово prefetch для атрибута rel элемента <link> сообщает браузерам, что пользователю, вероятно, понадобится целевой ресурс при будущих переходах, и поэтому браузер может улучшить взаимодействие с пользователем, заранее загрузив ресурс и сохранив его в кэше. <link rel="prefetch"> используется для ресурсов, предназначенных для переходов в пределах одного сайта, или для подресурсов, используемых страницами того же сайта.

Результат сохраняется в HTTP-кэше на диске. Поэтому этот механизм полезен для предварительной загрузки подресурсов, даже если они не используются текущей страницей. Его также можно использовать для предварительной загрузки следующего документа, который пользователь, вероятно, посетит на сайте. Однако в связи с этим нужно внимательно отнестись к заголовкам — например, некоторые заголовки Cache-Control могут блокировать предварительную загрузку (например, no-cache или no-store).

Примечание: Из-за таких ограничений вместо этого рекомендуется использовать Speculation Rules API для предварительной загрузки документов, если он поддерживается.

<link rel="prefetch"> функционально эквивалентен вызову fetch() с параметром priority: "low", за исключением того, что первый обычно имеет ещё более низкий приоритет и для него в запросе устанавливается заголовок Sec-Purpose: prefetch. Обратите внимание, что браузеры обычно назначают ресурсам, загружаемым заранее, более низкий приоритет, чем ресурсам, загружаемым с помощью preload (например, запрошенным через <link rel="preload">), — текущая страница важнее следующей.

Запрос на получение ресурса для операции prefetch приводит к HTTP-запросу, содержащему HTTP-заголовок Sec-Purpose: prefetch. Сервер может использовать этот заголовок, чтобы изменить время хранения ресурсов в кэше или выполнить другую специальную обработку. Запрос также будет содержать заголовок Sec-Fetch-Dest со значением empty.

Значение заголовка Accept в запросе будет совпадать со значением, используемым для обычных запросов навигации. Это позволяет браузеру найти соответствующие ресурсы в кэше после перехода.

Примеры

>

Базовая предварительная загрузка

<link rel="prefetch" href="main.js" />

Предварительная загрузка при навигации и подресурсов

Предварительную загрузку можно использовать для загрузки HTML и подресурсов, которые могут понадобиться при следующем переходе. Один из распространённых вариантов использования — главная страница сайта, которая загружает дополнительные ресурсы, требующие больше времени и используемые на остальных страницах сайта.

<link rel="prefetch" href="/app/style.css" />
<link rel="prefetch" href="/landing-page" />

Влияние разделения кэша

Во многих браузерах теперь реализован тот или иной вариант разделения кэша, из-за чего <link rel="prefetch"> становится бесполезным для ресурсов, предназначенных для использования разными сайтами верхнего уровня. Это касается и основного документа при переходе между сайтами. Например, следующая предварительная загрузка:

<link rel="prefetch" href="https://news.example/article" />

Не будет доступна из https://aggregator.example/.

Спецификации

Спецификация
HTML>
# link-type-prefetch>

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android WebView на iOS
prefetch
8Требуется безопасный контекст
12Требуется безопасный контекст
2Требуется безопасный контекст
15Требуется безопасный контекст
13.1
18Требуется безопасный контекст
4Требуется безопасный контекст
14Требуется безопасный контекст
13.4
1.5Требуется безопасный контекст
4.4Требуется безопасный контекст
Нет

См. также

  • Спекулятивная загрузка — сравнение <link rel="prefetch"> и других схожих способов повышения производительности.

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel/prefetch

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API