Чтобы заменить функциональность, основанную на строке User Agent, вы можете реализовать API подсказок клиента User Agent .
Страница подсказок для клиента User-Agent содержит некоторую справочную информацию.
Оставшуюся часть этого сообщения в блоге следует считать устаревшей.
User-Agent Reduction — это попытка уменьшить количество пассивных поверхностей для снятия отпечатков пальцев путем сокращения информации в строке User-Agent (UA) до только бренда и значимой версии браузера, его отличия от настольного или мобильного устройства, а также платформы, на которой он работает. В настоящее время строка UA используется в каждом HTTP-запросе и предоставляется в JavaScript всем ресурсам, загружаемым браузером. Он содержит важную информацию о браузере, платформе, на которой он работает, и его возможностях. Подсказки клиента User-Agent (UA-CH) могут предоставлять ту же информацию, что и полная строка UA, при этом позволяя сайтам запрашивать только ту информацию UA, которая им необходима.
Начиная с бета-версии Chrome 95 , мы откроем исходную пробную версию User-Agent Reduction , чтобы сайты могли отказаться от получения сокращенной строки UA прямо сейчас. Это позволит сайтам обнаруживать и устранять проблемы до того, как сокращенный UA станет поведением по умолчанию в Chrome (сокращение планируется начать во втором квартале 2022 года ). Если вы хотите протестировать пробную версию Origin на 95 бета-пользователях до того, как она будет выпущена для стабильной популяции, обязательно согласитесь и протестируйте ее до даты выпуска Chrome 95 ( в настоящее время запланированной на 19 октября 2021 г.).
Ниже приведен обзор пробной версии Origin и того, чего ожидать, и, как всегда, мы приветствуем отзывы или любые проблемы, возникающие в ходе этой пробной версии, в репозитории UA Reduction GitHub .
Что такое пользовательский агент?
Строка User-Agent (UA) передается в каждом HTTP-запросе и предоставляется в JavaScript всем ресурсам, загружаемым браузером. В настоящее время он содержит важную информацию о браузере и платформе, на которой он работает.
Почему User-Agent сокращается?
User-Agent Reduction — это попытка уменьшить количество пассивных поверхностей для снятия отпечатков пальцев в браузере Chrome, о котором впервые было объявлено в январе 2020 года. Путем сокращения информации в строке UA до только названия бренда и значимой версии браузера, различий между его настольными и мобильными устройствами и платформы. он работает, становится сложнее идентифицировать отдельных пользователей.
Что это значит для веб-разработчиков?
Сайты должны подготовиться к получению сокращенных строк UA и рассмотреть возможность участия в пробной версии источника (подробно ниже). Уменьшенные значения пользовательского агента появятся в:
- Заголовок HTTP-запроса
User-Agent
- Метод получения Javascript
navigator.userAgent
- Метод получения Javascript
navigator.platform
- Метод получения Javascript
navigator.appVersion
Чтобы получать больше информации о клиенте, чем та, которую предоставляет сокращенный User-Agent, сайтам необходимо будет перейти на новый API User-Agent Client Hints . Дополнительные сведения о стратегиях миграции см. в разделе Советы по переходу на клиент User-Agent .
Планы сокращения количества пользовательских агентов в настоящее время не включают iOS и WebView, поэтому эти платформы продолжат получать полную строку пользовательского агента. Основная причина заключается в том, что на этих платформах еще не реализованы подсказки клиента User-Agent.
Как работает это испытание происхождения?
Это исследование происхождения немного отличается от стандартного исследования происхождения. Стандартные пробные версии источника могут контролировать только поведение в ответе (например, контролировать доступ к API в Javascript ответа). В этом пробном варианте наша цель — не только изменить строку UA, предоставленную в API Javascript, но также изменить заголовок User-Agent, отправляемый в HTTP-запросе.
Чтобы иметь возможность сделать это, мы определяем временную подсказку клиента с именем Sec-CH-UA-Reduced
, присутствие которой в запросе будет указывать на то, что значение заголовка User-Agent содержит сокращенную строку UA. Подсказка клиента Sec-CH-UA-Reduced
будет отправлена (вместе с сокращенной строкой UA) только в том случае, если токен пробной версии источника действителен, а подсказка клиента Sec-CH-UA-Reduced
не будет работать после истечения срока действия пробной версии источника. Имейте в виду, что первый навигационный запрос все равно получит несокращенную строку User-Agent, если вы не установите Critical-CH header
.
Запросы подресурсов к тому же источнику автоматически отправят ту же строку User-Agent, что и отправленный запрос верхнего уровня. Запросы подресурсов к сторонним источникам также будут отправлять ту же строку User-Agent, что и запрос верхнего уровня, включая сокращенную строку UA, если пробный токен источника действителен, при условии, что это разрешено политикой разрешений .
Как принять участие в пробной версии User-Agent Reduction?
Чтобы зарегистрироваться для участия в пробной версии Origin и получить токен для своих доменов, посетите страницу Trial for User Agent Reduction .
Обновите заголовки HTTP-ответа:
- Добавьте
Origin-Trial: <ORIGIN TRIAL TOKEN>
в заголовок HTTP-ответа, где <ORIGIN TRIAL TOKEN
> содержит токен, который вы получили при регистрации для использования пробной версии Origin. - Добавьте
Accept-CH: Sec-CH-UA-Reduced
в заголовок ответа HTTP. - Установка
Accept-CH
приведет к отправке только сокращенной строки User-Agent при последующих запросах к источнику; Чтобы повторно отправить первый навигационный запрос с сокращенной строкой User-Agent, добавьтеCritical-CH: Sec-CH-UA-Reduced
в заголовок ответа HTTP в дополнение к заголовкамAccept-CH
иOrigin-Trial
. - Примечание. Если заголовки ответа содержат действительный токен
Origin-Trial
иAccept-CH: Sec-CH-UA-Reduced
, то все запросы подресурсов (например, для изображений или таблиц стилей) и вложенные навигации (например, iframe) будут отправлять уменьшенная строка UA, даже если источники этих запросов не участвуют в пробной версии источника.
- Добавьте
Загрузите свой веб-сайт в Chrome M95 (или более поздней версии) и начните получать сокращенную строку UA.
О любых проблемах или отзывах отправляйте в репозиторий UA Reduction на GitHub .
См . https://uar-ot.glitch.me/ для простой демонстрации исходной пробной версии (вместе с исходным кодом).
Как принять участие в пробной версии Origin в качестве стороннего встраивания?
Начиная с Chrome 96, сторонние встраивания (например, iframe внутри другого сайта) могут участвовать в пробной версии источника без необходимости регистрации сайта верхнего уровня.
Чтобы зарегистрироваться в качестве стороннего встраивателя:
- Посетите пробную версию User Agent Reduction и нажмите «Зарегистрироваться» .
- При создании токена обязательно установите флажок
Third-party matching
. - Чтобы получить сокращенный заголовок User-Agent из стороннего внедрения, обновите заголовки ответа HTTP .
- Чтобы получить сокращенную строку User-Agent в API Javascript, пробный токен необходимо внедрить через Javascript .
Некоторые важные моменты по запуску исходной пробной версии на сторонних встраиваниях: + Critical-CH
не может быть указан для сторонних встраиваний, поэтому первая навигация не будет отправлять сокращенную строку UA, хотя запросы подресурсов стороннего встраивания отправит сокращенную строку UA. + Если пробная версия источника подтверждена для источника стороннего внедрения, последующие запросы к тому же источнику в навигации верхнего уровня будут отправлять сокращенную строку UA. По этой причине рекомендуется активизировать участие в пробной версии источника как для запросов верхнего уровня, так и для запросов на встраивание вместе. + Если пользовательский агент отключил сторонние файлы cookie, то пробная версия источника не будет работать для заголовка User-Agent
в сторонних запросах на внедрение, хотя API-интерфейсы Javascript все равно будут получать сокращенную строку UA.
Как проверить, работает ли пробная версия Origin?
Чтобы убедиться, что пробная версия источника работает, проверьте заголовки запросов и убедитесь в следующем:
- Заголовок User-Agent содержит сокращенную версию. Обратитесь к этому списку примеров сокращенных строк UA . Самый простой способ определить это — строка дополнительной версии Chrome содержит
0.0.0
. - Заголовку
Sec-CH-UA-Reduced
присвоено значение?1
.
Заголовки первоначального ответа, содержащие пробный токен источника, должны выглядеть так:
Последующие заголовки запроса, содержащие сокращенную строку UA, должны выглядеть так:
Как мне прекратить участие в пробной версии User-Agent Reduction?
В любой момент времени во время пробного периода вы можете прекратить участие и получить полную строку User-Agent. Чтобы прекратить участие:
- Отправьте заголовок
Accept-CH
в свой ответ HTTP, который не включаетSec-CH-UA-Reduced
. Примечание.Accept-CH
с пустым значением — допустимый способ добиться этого, если ваш сайт не запрашивает никаких других подсказок клиента. - Удалите заголовок
Origin-Trial
для пробной версии User-Agent Reduction из вашего HTTP-ответа. - Если установлено, удалите
Sec-CH-UA-Reduced
из заголовкаCritical-CH
в вашем HTTP-ответе.
Как долго будет продолжаться судебное разбирательство по поводу происхождения?
Пробная версия UA Reduction продлится не менее шести месяцев, что соответствует примерно шести этапам Chrome. Исходная пробная версия появится в M95 и завершится к M101, после чего Chrome оценит отзывы о исходной пробной версии, прежде чем приступить к поэтапной отправке сокращенной строки User-Agent в соответствии с планом развертывания . Если сайту требуется больше времени, он может выбрать последующую пробную версию источника устаревания, которая позволит ему получить доступ к полной строке UA в течение как минимум еще шести месяцев. Мы опубликуем более подробную информацию о пробной версии, когда она будет готова.
Как мне поделиться отзывом о пробной версии User-Agent Reduction?
О любых проблемах или отзывах отправляйте в репозиторий UA Reduction на GitHub .