Пробная версия прекращения поддержки User-Agent Reduction позволила сайтам продолжать получать полную строку User-Agent после сокращения строки UA. Суд завершился 23 сентября 2023 года.
Чтобы заменить функциональность, основанную на строке User Agent, вы можете реализовать API подсказок клиента User Agent .
Страница подсказок для клиента User-Agent содержит некоторую справочную информацию.
Оставшуюся часть этого сообщения в блоге следует считать устаревшей.
Начиная с 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-ответа следующим образом:
- Добавьте
Origin-Trial: <ORIGIN TRIAL TOKEN>
в заголовок HTTP-ответа. <ORIGIN TRIAL TOKEN
> содержит токен, который вы получили при регистрации для участия в пробной версии Origin. - Добавьте
Accept-CH: Sec-CH-UA-Full
в заголовок ответа HTTP. УстановкаAccept-CH
приведет к отправке полной строки User-Agent только при последующих запросах к источнику. - Если полная строка User-Agent имеет решающее значение при первом запросе, добавьте
Critical-CH: Sec-CH-UA-Full
в заголовок ответа HTTP в дополнение к заголовкамAccept-CH
иOrigin-Trial
. Для участников, присоединяющихся к пробной версии сокращенной поддержки, мы предлагаем предоставить всем сторонним доменам доступ к полной строке 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">
. - Невозможно делегировать всем сторонним доменам через
*
в метатеге.
- Чтобы разрешить именованный список сторонних доменов, добавьте
- Добавьте заголовок
Загрузите свой веб-сайт в Chrome 100 (или более поздней версии) и продолжайте получать полную строку User-Agent.
Демо
См . https://uard-ot-demo.glitch.me для демонстрации пробной версии (вместе с исходным кодом).
Как убедиться, что пробная версия работает?
Чтобы убедиться, что пробная версия источника работает, проверьте заголовки запросов и убедитесь в следующем:
- Заголовок User-Agent содержит полную версию. Он не должен содержать никаких сокращенных значений (которые можно найти в списке образцов сокращенных строк User-Agent ). Самый простой способ определить это — строка дополнительной версии Chrome не должна быть
0.0.0
. - Заголовку
Sec-CH-UA-Full
присвоено значение?1
.
Заголовки исходного ответа, содержащие токен origin-trial, должны выглядеть так:
Последующие заголовки запроса, содержащие полную строку User-Agent, должны выглядеть так:
Как мне прекратить участие в пробной версии User-Agent Reduction?
В любой момент времени во время пробного периода вы можете прекратить участие и получить сокращенную строку User-Agent. Чтобы прекратить участие:
- Отправьте заголовок
Accept-CH
в свой ответ HTTP, который не включаетSec-CH-UA-Full
. Обратите внимание, чтоAccept-CH
с пустым значением является допустимым способом добиться этого, если ваш сайт не запрашивает никаких других подсказок клиента. - Удалите заголовок
Origin-Trial
для пробной версии User-Agent Reduction из вашего HTTP-ответа. - Если установлено, удалите
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 .