Пробная версия прекращения поддержки User-Agent Reduction

Пробная версия прекращения поддержки User-Agent Reduction позволила сайтам продолжать получать полную строку User-Agent после сокращения строки UA. Суд завершился 23 сентября 2023 года.

Начиная с Chrome 101, информация, доступная в строке User-Agent (UA), будет сокращаться поэтапно . Сайты, у которых еще не было времени перейти от использования сокращенной строки User-Agent к использованию клиентских подсказок User-Agent, могут принять участие в пробной версии устаревшей версии, чтобы продолжать получать полную строку User-Agent.

Регистрация на пробную версию устаревшей версии начнется с бета-версии Chrome 100 . Это позволит сайтам получать полную строку User-Agent до выхода Chrome 101, в котором строка дополнительной версии будет сокращена. Если вы хотите протестировать пробную версию Origin на бета-версии Chrome 100 до ее выхода на стабильный канал, обязательно зарегистрируйтесь и протестируйте ее до даты выпуска Chrome 100 ( в настоящее время запланированной на 31 марта 2022 г. ).

Ниже приведен обзор пробной версии прекращения поддержки и того, чего ожидать. Если у вас есть отзывы или вы столкнулись с какими-либо проблемами в ходе этой пробной версии, сообщите нам об этом в репозитории UA Reduction на GitHub .

Что это значит для веб-разработчиков?

Приняв участие в пробной версии устаревшей версии, сайты продолжат получать полную строку UA в navigator.userAgent и несокращенные значения в связанных методах получения JavaScript navigator.platform и navigator.appVersion :

  • Заголовок HTTP-запроса User-Agent
  • Метод получения Javascript navigator.userAgent
  • Метод получения Javascript navigator.platform
  • Метод получения Javascript navigator.appVersion

Сайты по-прежнему должны проверять использование заголовка User-Agent и связанных API и при необходимости готовиться к переходу на User-Agent Client Hints до истечения срока действия пробной версии. Цель состоит в том, чтобы прекратить действие этой пробной версии после завершения развертывания User-Agent Reduction .

Как принять участие в пробной версии User-Agent Reduction?

Зарегистрироваться на пробную версию

Чтобы зарегистрироваться для участия в пробной версии Origin и получить токен для своих доменов, посетите страницу пробной версии User Agent Reduction . Если вы являетесь сторонним лицом, пожалуйста, проверьте «Стороннее сопоставление».

Настраивать

После регистрации для участия в пробной версии обновите заголовки HTTP-ответа следующим образом:

  1. Добавьте Origin-Trial: <ORIGIN TRIAL TOKEN> в заголовок HTTP-ответа. < ORIGIN TRIAL TOKEN > содержит токен, который вы получили при регистрации для участия в пробной версии Origin.
  2. Добавьте Accept-CH: Sec-CH-UA-Full в заголовок ответа HTTP. Установка Accept-CH приведет к отправке полной строки User-Agent только при последующих запросах к источнику.
  3. Если полная строка User-Agent имеет решающее значение при первом запросе, добавьте Critical-CH: Sec-CH-UA-Full в заголовок ответа HTTP в дополнение к заголовкам Accept-CH и Origin-Trial .
  4. Для участников, присоединяющихся к пробной версии сокращенной поддержки, мы предлагаем предоставить всем сторонним доменам доступ к полной строке User-Agent. Если вы не расширите доступ сторонних доменов к полной строке User-Agent, они заблокируют полный доступ к строке User-Agent независимо от их собственной пробной регистрации по сокращению устаревших версий. Вы можете разрешить полный доступ к строке User-Agent сторонним доменам одним из следующих двух вариантов:

    • Добавьте заголовок Permissions-Policy со сторонними доменами, которые должны получить полную строку User-Agent.
      • Чтобы разрешить все сторонние домены, добавьте Permissions-Policy: ch-ua-full=* .
      • Чтобы разрешить именованный список сторонних доменов, добавьте Permissions-Policy: ch-ua-full=(self "https://thirdparty.example.com") .
    • Добавьте метатег Accept-CH со сторонними доменами, которые должны получать полную строку User-Agent (только в Chrome 100 и более поздних версиях).
      • Чтобы разрешить именованный список сторонних доменов, добавьте <meta http-equiv="delegate-ch" value="sec-ch-ua-full https://thirdparty.example.com"> .
      • Невозможно делегировать всем сторонним доменам через * в метатеге.
  5. Загрузите свой веб-сайт в Chrome 100 (или более поздней версии) и продолжайте получать полную строку User-Agent.

Демо

См . https://uard-ot-demo.glitch.me для демонстрации пробной версии (вместе с исходным кодом).

Как убедиться, что пробная версия работает?

Чтобы убедиться, что пробная версия источника работает, проверьте заголовки запросов и убедитесь в следующем:

  1. Заголовок User-Agent содержит полную версию. Он не должен содержать никаких сокращенных значений (которые можно найти в списке образцов сокращенных строк User-Agent ). Самый простой способ определить это — строка дополнительной версии Chrome не должна быть 0.0.0 .
  2. Заголовку Sec-CH-UA-Full присвоено значение ?1 .

Заголовки исходного ответа, содержащие токен origin-trial, должны выглядеть так:

Последующие заголовки запроса, содержащие полную строку User-Agent, должны выглядеть так:

Как мне прекратить участие в пробной версии User-Agent Reduction?

В любой момент времени во время пробного периода вы можете прекратить участие и получить сокращенную строку User-Agent. Чтобы прекратить участие:

  1. Отправьте заголовок Accept-CH в свой ответ HTTP, который не включает Sec-CH-UA-Full . Обратите внимание, что Accept-CH с пустым значением является допустимым способом добиться этого, если ваш сайт не запрашивает никаких других подсказок клиента.
  2. Удалите заголовок Origin-Trial для пробной версии User-Agent Reduction из вашего HTTP-ответа.
  3. Если установлено, удалите Sec-CH-UA-Full из заголовка Critical-CH в вашем HTTP-ответе.

Чем эта пробная версия отличается от других пробных версий User-Agent?

Chrome проводит две пробные версии Origin, связанные с сокращением количества User Agent. Первой была пробная версия User Agent Reduction , которая позволяла сайтам получать сокращенную строку пользовательского агента для тестирования своих вариантов использования и предоставления отзывов, прежде чем она станет поведением по умолчанию в Chrome.

Второй, упомянутый здесь, — это пробная версия устаревшей версии, предназначенная для сайтов, которым требуется немного больше времени для перехода на API User-Agent Client Hints API . Это позволяет сайтам продолжать получать полную строку User-Agent.

Как долго будет продолжаться судебное разбирательство по прекращению поддержки?

Пробная версия User-Agent Reduction будет работать с Chrome 100 до Chrome 115. Chrome 116 станет первой версией, в которой отправляется только полностью сокращенная строка User-Agent.

Как поделиться отзывом о пробной версии снижения стоимости User-Agent Reduction?

О любых проблемах или отзывах сообщайте в репозиторий User-Agent Reduction GitHub .