Кратко

  • Черновик W3C Resource Priorities 2013 года предложил lazyload и postpone как способы сообщить о порядке загрузки. В записке рабочей группы 2014 года спецификация прямо названа оставленной.
  • Более поздний документ WICG Priority Hints утратил роль после переноса важных положений в HTML и Fetch. Нынешний fetchpriority предлагает high, low и auto относительно ресурсов одного назначения; внутренний приоритет браузера описан отдельно.

На странице новости большая иллюстрация может быть частью аргумента, а узор внизу — приятной мелочью. Порядок в разметке не всегда совпадает с этой разницей. Браузер тем временем распоряжается ограниченной связью, памятью и временем устройства. У автора и исполнителя разные сведения. Идея приоритетной подсказки выросла из попытки совместить их, не превращая пожелание редактора в приказ сетевому планировщику.

Первый публичный рабочий проект W3C от 29 октября 2013 года назывался Resource Priorities. Он описывал lazyload, postpone и свойство CSS. Первый механизм давал понять, что ресурс может уступить место другим при конкуренции; второй рассматривал задержку до приближения элемента к видимой области. Авторы проекта отмечали: загрузка в порядке документа может плохо соответствовать тому, что посетитель воспринимает как готовую страницу. Это свидетельство замысла, а не статистика внедрения.

У проекта был прямой финал. Записка рабочей группы W3C от 23 октября 2014 года объявила, что спецификацию больше не сопровождают и от неё отказались; читателям предложили обратиться к resource hints. lazyload в записке сохранился, а отдельного раздела postpone уже нет. Старый проект нельзя выдать за прежнее название современного атрибута: документы решают схожую задачу, но не подтверждают прямой технической преемственности.

Позже появилась другая документальная ветка. Отчёт WICG Priority Hints от 22 февраля 2023 года описывал относительный приоритет, который разработчик сообщает браузеру для рассмотрения при получении ресурсов. Сегодня отчёт помечен как устаревший: значимые части перенесены в основные спецификации HTML и Fetch. В одном случае работу оставили; в другом старый адрес закрыли после переезда. Одинаковое слово «устарел» скрывает разные судьбы.

Живая спецификация HTML определяет для fetchpriority три значения: high, low и auto. Сравнение относится к ресурсам с тем же назначением. Отсутствующее или ошибочное значение превращается в auto. Поэтому метка high не выдаёт файлу универсальный пропуск без очереди. Она позволяет редактору указать различие внутри сопоставимой группы запросов.

Спецификация Fetch показывает вторую сторону соглашения. Запрос обладает приоритетом high, low или auto; отдельно существует внутренний приоритет, форма которого может определяться реализацией. Браузер сохраняет собственную механику принятия решения. Он видит конкурирующие задачи и условия, которых не знает автор страницы.

Если главная фотография получает высокий сигнал среди изображений, браузеру сообщают реальную редакционную разницу. Пять исходных документов описывают язык такого сообщения и его пределы. Они не превращают отметку high в секундомер. Очередь обслуживает браузер, который видит цену каждого следующего вызова.