Чтобы заменить функциональность, которая зависит от строки User Agent, можно реализовать API клиентских подсказок User Agent .
Страница «Советы по работе с клиентом User-Agent» содержит некоторую дополнительную информацию.
Оставшуюся часть этой записи блога следует считать устаревшей.
Сокращение User-Agent — это попытка сократить пассивные поверхности отпечатков пальцев путем сокращения информации в строке User-Agent (UA) до только бренда браузера и значимой версии, его настольного или мобильного отличия и платформы, на которой он работает. Строка UA передается в каждом HTTP-запросе и отображается в JavaScript для всех ресурсов, загруженных браузером. Она содержит значительную информацию о браузере, платформе, на которой он работает, и его возможностях. Подсказки User-Agent Client (UA-CH) могут предоставлять ту же информацию, что и полная строка UA, при этом позволяя сайтам запрашивать только необходимую им информацию UA.
Начиная с Chrome 95 Beta, мы откроем пробную версию Origin для User-Agent Reduction , чтобы позволить сайтам выбрать получение сокращенной строки UA уже сейчас. Это позволит сайтам обнаруживать и устранять проблемы до того, как сокращенный UA станет поведением по умолчанию в Chrome (сокращение планируется начать во втором квартале 2022 года ). Если вы хотите протестировать пробную версию Origin на 95 пользователях Beta до того, как она будет запущена для стабильной популяции, обязательно подпишитесь и протестируйте до даты выпуска Chrome 95 ( запланированной на 19 октября 2021 года).
Обзор исходного испытания и того, чего ожидать, следует ниже. Как всегда, мы приветствуем отзывы или любые проблемы в ходе этого испытания в репозитории UA Reduction GitHub .
Что такое User-Agent?
Строка User-Agent (UA) передается в каждом HTTP-запросе и отображается в JavaScript для всех ресурсов, загружаемых браузером. Она содержит важную информацию о браузере и платформе, на которой он работает.
Почему сокращается User-Agent?
Сокращение User-Agent — это попытка сократить количество пассивных отпечатков пальцев в браузере Chrome, о которой впервые было объявлено в январе 2020 года. Сокращая информацию в строке UA только до бренда браузера и его значимой версии, его отличия от настольного или мобильного устройства, а также платформы, на которой он работает, становится сложнее идентифицировать отдельных пользователей.
Что это значит для веб-разработчиков?
Сайты должны подготовиться к получению сокращенных строк UA и рассмотреть возможность участия в испытании origin (подробности ниже). Сокращённые значения user agent появятся в:
- Заголовок HTTP-запроса
User-Agent
- Геттер Javascript
navigator.userAgent
- Геттер Javascript
navigator.platform
- Получатель Javascript
navigator.appVersion
Чтобы получать больше информации о клиенте, чем та, что предоставляется сокращенным User-Agent, сайтам необходимо перейти на новый API User-Agent Client Hints . Для получения более подробной информации о стратегиях миграции см. Migrate to User-Agent Client Hints .
Планы сокращения User-Agent не включают iOS и WebView, поэтому эти платформы продолжат получать полную строку user-agent. Основная причина в том, что эти платформы еще не внедрили User-Agent Client Hints .
Как работает это испытание происхождения?
Этот пробный период происхождения немного отличается от стандартного пробного периода происхождения. Стандартные пробные периоды происхождения могут управлять только поведением в ответе (например, управлять доступом к 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 и получить токен для своих доменов, посетите страницу «Пробная версия для сокращения количества пользовательских агентов» .
Обновите заголовки 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
, то все запросы подресурсов (например, для изображений или таблиц стилей) и поднавигации (например, iframes) будут отправлять сокращенную строку UA, даже если источники этих запросов не зарегистрированы в исходной пробной версии.
- Добавьте
Загрузите свой веб-сайт в Chrome M95 (или более поздней версии) и начните получать сокращенную строку UA.
Отправляйте любые вопросы или отзывы в репозиторий UA Reduction GitHub .
Демонстрацию исходного триала (вместе с исходным кодом) можно посмотреть на сайте https://uar-ot.glitch.me/ .
Как принять участие в испытании Origin в качестве стороннего разработчика?
Начиная с Chrome 96, сторонние вставки (например, iframe внутри другого сайта) могут участвовать в пробной версии Origin без необходимости регистрации сайта верхнего уровня.
Чтобы зарегистрироваться в качестве стороннего встраиваемого приложения:
- Посетите пробную версию User Agent Reduction и нажмите «Зарегистрироваться» .
- При создании токена обязательно установите флажок
Third-party matching
. - Чтобы получить сокращенный заголовок User-Agent от стороннего встраивания, обновите заголовки HTTP-ответа .
- Чтобы получить сокращенную строку User-Agent в API Javascript, необходимо внедрить пробный токен с помощью Javascript .
Некоторые важные моменты относительно запуска пробной версии Origin на сторонних встраиваемых приложениях:
-
Critical-CH
нельзя указать для сторонних встраиваний, поэтому первая навигация не будет отправлять сокращенную строку UA, хотя запросы подресурсов сторонних встраиваний будут отправлять сокращенную строку UA. - Если пробный период источника проверен для источника стороннего встраивания, последующие запросы к тому же источнику в навигации верхнего уровня будут отправлять сокращенную строку UA. По этой причине рекомендуется увеличить участие в пробном периоде источника как для запросов верхнего уровня, так и для запросов встраивания одновременно.
- Если пользовательский агент отключил сторонние файлы cookie, то пробная версия Origin не будет работать для заголовка
User-Agent
в сторонних запросах на встраивание, хотя API Javascript по-прежнему будут получать сокращенную строку UA.
Как проверить, что пробная версия Origin работает?
Чтобы убедиться, что пробная версия источника работает, проверьте заголовки запроса и убедитесь в следующем:
- Заголовок User-Agent содержит сокращенную версию. Обратитесь к этому списку примеров сокращенных строк UA . Один из способов узнать — строка второстепенной версии Chrome содержит
0.0.0
. - Заголовок
Sec-CH-UA-Reduced
установлен на?1
.
Как прекратить участие в пробной версии 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-ответе.
Как долго продлится испытание Origin?
Пробный период UA Reduction Origin будет длиться не менее шести месяцев, что соответствует примерно шести этапам Chrome. Пробный период Origin появится в M95 и закончится в M101, после чего Chrome оценит отзывы от пробного периода Origin, прежде чем приступить к отправке сокращенной строки User-Agent поэтапно в соответствии с планом развертывания . Если сайту нужно больше времени, он может выбрать последующий пробный период Deprecation Origin, который позволит ему получить доступ к полной строке UA как минимум еще на шесть месяцев. Мы опубликуем более подробную информацию о пробном периоде Deprecation, когда он будет готов.
Как оставить отзыв о пробной версии User-Agent Reduction?
Отправляйте любые вопросы или отзывы в репозиторий UA Reduction GitHub .