В последние годы проблемы конфиденциальности привели к значительным изменениям в том, как браузеры обрабатывают строки User-Agent. Строки User-Agent, традиционно используемые для идентификации информации о браузере и устройстве, были сокращены, чтобы ограничить объем передаваемой информации, тем самым защищая конфиденциальность пользователей. Чтобы устранить ограничения, связанные с сокращением количества пользовательских агентов, в качестве решения появились подсказки клиента, обеспечивающие более контролируемый и конфиденциальный способ обмена необходимой информацией.
Полную публикацию в блоге можно прочитать здесь
Строки User-Agent появились еще на заре существования веб-браузеров, начиная с WorldWideWeb Тима Бернерса-Ли. Первоначально они были простыми и предоставляли базовую информацию о браузере и версии. Со временем они стали включать подробные данные об операционной системе, типе устройства и т. д., что оказалось полезным для веб-аналитики и оптимизации взаимодействия с пользователем. Однако эта деталь также позволила снять отпечатки пальцев с устройства, что вызвало проблемы конфиденциальности.
Сокращение User-Agent направлено на минимизацию информации в строках User-Agent для защиты конфиденциальности пользователей. Информация с высокой энтропией, такая как конкретные версии ОС и модели оборудования, сокращается. Например, Google Chrome теперь сообщает менее подробную строку User-Agent:
Аналогичным образом Firefox и Safari реализовали свои собственные версии сокращения User-Agent, хотя и с небольшими различиями, основанными на их уникальных политиках.
Подсказки клиента позволяют запрашивать конкретную, высокоэнтропийную информацию об устройстве и браузере пользователя с соблюдением конфиденциальности. Существует два основных метода доступа к подсказкам клиента:
Чтобы реализовать подсказки клиента через заголовки HTTP, серверу необходимо установить соответствующие заголовки в ответе HTTP, сигнализируя браузеру о необходимости включать эти подсказки в будущие запросы. Например:
Accept-CH: Sec-CH-UA-Platform-Version
Последующие запросы браузера будут включать версию платформы:
Sec-CH-UA-Platform-Version: "14.5.0"
Для динамических приложений API JavaScript обеспечивает гибкость. Например, используя метод getHighEntropyValues:
if (navigator.userAgentData) { navigator.userAgentData.getHighEntropyValues(['architecture', 'model', 'platformVersion']) .then(ua => { console.log(ua); }); }
В зависимости от ваших конкретных потребностей вы можете выбрать разные методы сбора данных о пользовательской среде:
Сокращение количества пользовательских агентов и подсказки клиента представляют собой важные шаги на пути к повышению конфиденциальности пользователей, при этом позволяя веб-сайтам собирать необходимую информацию для оптимальной функциональности. Понимая и внедряя эти технологии, разработчики могут сбалансировать потребность в подробных пользовательских данных с соображениями конфиденциальности и производительности.
Подробнее читайте в нашем подробном сообщении в блоге.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3