«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Сокращение количества пользовательских агентов в Chrome, Safari и Firefox

Сокращение количества пользовательских агентов в Chrome, Safari и Firefox

Опубликовано 6 августа 2024 г.
Просматривать:109

User Agent Reduction in Chrome, Safari & Firefox

Введение. Что такое сокращение количества пользовательского агента и подсказки клиента?

В последние годы проблемы конфиденциальности привели к значительным изменениям в том, как браузеры обрабатывают строки User-Agent. Строки User-Agent, традиционно используемые для идентификации информации о браузере и устройстве, были сокращены, чтобы ограничить объем передаваемой информации, тем самым защищая конфиденциальность пользователей. Чтобы устранить ограничения, связанные с сокращением количества пользовательских агентов, в качестве решения появились подсказки клиента, обеспечивающие более контролируемый и конфиденциальный способ обмена необходимой информацией.

Полную публикацию в блоге можно прочитать здесь

Краткая история строк пользовательского агента

Строки User-Agent появились еще на заре существования веб-браузеров, начиная с WorldWideWeb Тима Бернерса-Ли. Первоначально они были простыми и предоставляли базовую информацию о браузере и версии. Со временем они стали включать подробные данные об операционной системе, типе устройства и т. д., что оказалось полезным для веб-аналитики и оптимизации взаимодействия с пользователем. Однако эта деталь также позволила снять отпечатки пальцев с устройства, что вызвало проблемы конфиденциальности.

Что такое сокращение числа пользовательских агентов?

Сокращение User-Agent направлено на минимизацию информации в строках User-Agent для защиты конфиденциальности пользователей. Информация с высокой энтропией, такая как конкретные версии ОС и модели оборудования, сокращается. Например, Google Chrome теперь сообщает менее подробную строку User-Agent:

  • Раньше: Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/95.2.1.0 Mobile Safari/537.36
  • После: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/95.0.0.0 Mobile Safari/537.36

Аналогичным образом Firefox и Safari реализовали свои собственные версии сокращения User-Agent, хотя и с небольшими различиями, основанными на их уникальных политиках.

Как работают клиентские подсказки?

Подсказки клиента позволяют запрашивать конкретную, высокоэнтропийную информацию об устройстве и браузере пользователя с соблюдением конфиденциальности. Существует два основных метода доступа к подсказкам клиента:

  1. Заголовки HTTP-запросов. Веб-сайты могут запрашивать конкретную информацию о браузере и устройстве пользователя, используя заголовки HTTP-запросов. Обычно это используется в собственном контексте, гарантируя, что подробная информация о пользователе доступна только основному веб-сайту, а не сторонним ресурсам.
  2. JavaScript API: Доступ к подсказкам клиента также можно получить через объект navigator.userAgentData в JavaScript. Это позволяет динамически запрашивать конкретную информацию, такую ​​как архитектура, модель и версия платформы, без установки дополнительных заголовков.

Реализация клиентских подсказок

Использование заголовков HTTP-запросов

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

Accept-CH: Sec-CH-UA-Platform-Version

Последующие запросы браузера будут включать версию платформы:

Sec-CH-UA-Platform-Version: "14.5.0"

Использование API JavaScript

Для динамических приложений API JavaScript обеспечивает гибкость. Например, используя метод getHighEntropyValues:

if (navigator.userAgentData) {
    navigator.userAgentData.getHighEntropyValues(['architecture', 'model', 'platformVersion'])
        .then(ua => {
            console.log(ua);
        });
}

Рекомендации для разработчиков

В зависимости от ваших конкретных потребностей вы можете выбрать разные методы сбора данных о пользовательской среде:

  • Обнаружение функций: Используйте существующие API JavaScript браузера, где это возможно. Это более надежно и перспективно, чем использование строк User-Agent.
  • Информация с низкой энтропией: Для получения основных сведений, таких как тип устройства, строки User-Agent может быть достаточно.
  • Информация с высокой энтропией: Используйте подсказки для клиентов, если необходима подробная информация и вы контролируете домен.

Заключение

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

Подробнее читайте в нашем подробном сообщении в блоге.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/corbado/user-agent-reduction-in-chrome-safari-firefox-3g6g?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3