Комментарии 81

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

Хром впереди планеты всей, увы.
Их недавние манипуляции с SameSite cookies уже навели шороху, потому что обратной совместимости там нет и как раз за счет UA надо определять можно ли указывать SameSite. А теперь давайте UA отменим, почему бы и нет :)
Лучше бы ввели по умолчанию лимит на размер загружаемых страниц. Глядишь, интернет перестал бы жиреть.
Это не может решать браузер. Это может решить пользователь и только он.
Но попытка дать такой инструмент пользователю ни к чему не приведет — пользователь увидит глючный сайт, отключит настройку и продолжит работать.
Если пользователь отключит — хорошо. Для меня в своё время было открытием, что 90% пользователей или около того не могут поменять страницу по умолчанию в браузере, поэтому microsoft.com был самым посещаемым сайтом. Так что хозяева ожиревших сайтов начнут шевелиться, увидев подение числа посетителей в 10 раз.

Ещё это может решить провайдер. На медленном интернете у меня некоторые страницы хабра просто вылитали в таймаут: "Ошибка при установке защищённого соединения". Хотя это странная ошибка при условии что часть страницы уже была показана.

Это не странно, учитывая, что хабр качается кучу медиа с разных ресурсов… откройте водопад с загрузкой страницы

Часть страницы то уже показана. Зачем менять контент на ошибку? Оставили бы недогруженой с показом ошибки загрузки рядом.


А самое главное что нажимая обновить она начинает грузиться заново. Хотя казалось бы продолжи загрузку с недогруженного места если страница не изменилась.

Да, тоже бесит. Интернет у меня быстрый, но такое тоже иногда проскакивает. Непонятно конечно, почему Firefox показывает ошибку на всю страницу, когда проблема явно в стороннем ресурсе, ну да ладно.

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

В данный момент эта страница, сохранённая в html в месте с ресурсами, весит 2МБ (м/б из-за резалок рекламы).
Страница по ссылке, которую вам дали 14.5МБ (без ресурсов — 5.5).

Какой лимит вы предлагаете сделать (и можно ли будет после этого на хабр зайти ^_^)?
Какой лимит вы предлагаете сделать (и можно ли будет после этого на хабр зайти ^_^)?

Это, на самом деле не важно. Вам сейчас кажется, что страница на несколько мегабайт — это нормально? А если бы я Вам рассказал про страницу в 14 МБ в 2000-м году, Вы бы покрутили пальцем у виска. Значит или что-то в этой странице есть такое, что в 2000-м было невозможно впринципе, или есть куда худеть. Ну давайте закрепим 10МБ. А можно и 100 МБ. Только давайте в будущем не будем менять этот лимит, когда неперывно растущий ароматный компост из новомодных фреймворков перестанет влезать и в эти пределы.
Вам сейчас кажется, что страница на несколько мегабайт — это нормально?
Нет, не кажется.
Это уже много для практически пустой страницы, но тут уж я ничем не помогу: это вопрос к команде ресурса.
Так вот, команда ресурса (этого и любого другого) будет чесаться насчёт оптимизации только если все их пользователи будут получать сообщение «то, что Вы сейчас загружаете может сделать Ваш компьютер очень медленным, продолжить?»
На самом деле вроде как хорошее дело убрать user-agent. А то какой то цифровой расизм, сайт решает как ему отдать или не отдавать вообще контент, только на основании того через что я его смотрю.
Другой вопрос что за альтернативу они предлагают… это ведь не совсем понятно, в статье вообще ни слова. Так же не совсем понятно с разработчиками, они что против менеджеров восстание что ли подняли…
Так ведь альтернатива то-же должна будет давать понять сайту через какой браузер на него смотрят. По сути это будет тот-же самый user-agent. Почему бы просто не уменьшить количество информации в этой строке?

Зачем? Еще раз — стандарт для страниц должен быть одинаков (читай — интерпретация гуглохрома единственно верная, а остальные пускай приспосабливаются).

Со всех настольных компьютеров строка будет выглядеть следующим образом, независимо от устройства и версии браузера

Windows NT 10.0; Win64; x64

То есть десктопные линуксы теперь вообще со статистики исчезнут?
У них будет Client Hint, где эта информация будет. А даже если бы не было, пока я вижу надобность только при скачивании программ, но там можно сделать, чтобы юзер сам выбрал нужную платформу.

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

Для client hints же JavaScript нужен, а некоторые сайты таки пытаются воздерживаться от его использования.


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

Для client hints же JavaScript нужен
Нет. В первую очередь, Client Hints — это заголовки.

А, значит, я не так понял, как оно всё работает.


Короче, как мне с этими всеми вещами определить, скажем, ОС клиента? Раньше я ставил awstats, который парсил логи nginx'а и генерировал какую-то там статистику. А сейчас как надо?

В статье есть ссылка на описание Client Hints (которое ещё может поменяться). Вы посылаете в специальном заголовке список вещей, которые хотите получить, а браузер при следующих запросах может отдать Вам те из них, которые посчитает нужным (тоже в заголовках).

Также предполагается какой-то доступ из JS.

А если у меня, условно, блог, на который зашли по ссылке с хабра/реддита — одна страница, один хит, никаких последующих запросов, тут без js можно будет?


Это я уже исключительно из практических соображений спрашиваю.

Читайте стандарт. Пока ещё рано говорить, т. к. может измениться.

В один запрос без JS, вероятно, нельзя, как минимум потому что как за один запрос браузер сможет узнать, что Вам нужна эта информация? Это технически невозможно.

Запрашивать в предварительном OPTIONS / HEAD запроосе, например? Технически это будет два запроса конечно, но контент будет отдаваться только при последующем GET / POST запросе

Ну доки же есть, я не видел никакого упоминания OPTIONS / HEAD, т. е. как я понимаю, запрашивать нужно в обычном GET / POST запросе.


Я допускаю, что разраб если очень захочет получить в один запрос, он сможет на своей стороне придумать какой-то хитрый редирект при первом открытии сайта. Таким образом, браузер на самом деле пошлёт 2 запроса, но для пользователя это будет выглядеть как один. Разумеется при этом:


  1. Сайт станет открываться медленнее.
  2. Обязательно нужно озаботиться об отсутствие бесконечного редиректа, т. к. браузер не обязан отдавать по запросу нужные заголовки, и определять по ним необходимость редиректа ни в коем случае нельзя. Вместо этого можно поюзать:
    • Сохранение второго ответа по IP:
      • Если Вы запросили данные, но ответ ещё не пришёл, не допускать редирект для этого IP.
      • Если пришёл ответ хотя бы с одним запрошенным заголовком, разрешить редирект для этого IP в том случае, если заголовок станет отсутствовать.
      • Если пришёл ответ без любого из запрошенных заголовков, больше не допускать редирект для этого IP.
    • Редирект на GET со специальным параметром, содержащим специальную временную строку (уникальную для каждого пользователя), при наличии которой редирект не осуществляется. Строка может действовать сутки и только для этого IP (для других рассматривается как отсутствие строки).
    • Можно также вместо редиректа попытаться поюзать обновление страницы. Уникальную строку здесь уже правда применить не получится.

Но в любом случае, предложенную мной схему редиректа я крайне не рекомендую. Используйте её только если у вас говносайт.


Также ни в коем случае не используйте её, если не имеете глубокого понимания работы браузеров, редиректов, Client Hints и HTML — сильно вряд ли, что Вы сможете сделать правильно. Не используйте мою инструкцию, если не имеете глубокого понимания каждого её пункта. Эта не та инструкция, по которой можно сделать в тупую по шагам без понимания вопроса.


При этом ещё одна причина не использовать её — она Вам не нужна. Отдайте пользователям одинаковый HTML, а если нужно настроить отображение или отдельные элементы, настройте их Javascript'ом и стилями уже после загрузки страницы. Это позволит не только быстрее её загрузить и избежать ошибок, но и в целом намного правильнее: не надо отдавать разный HTML людям, если это не динамический сайт. Причём если Вы настраиваете стилями, обычно можно вообще обойтись без Client Hints, используя вместо этого CSS Media Queries.

Раньше я ставил awstats, который парсил логи nginx'а и генерировал какую-то там статистику. А сейчас как надо?


Вы не совсем это спросили, но у Basecamp есть неприятный ответ, который мне понравился: никак.

When I’ve raised this concern in conversations with people in the marketing industry, a lot of them have taken offense to the term “spy pixels”. Affixing the spying label made a lot of them uncomfortable, because they were just trying to help! I get that nobody wants to think of themselves as the bad guy (Eilish not withstanding), but using the word “spy” isn’t exactly a reach.


m.signalvnoise.com/mailing-list-software-should-stop-spying-on-subscribers

В конкретно этой статье они предлагают отказаться от трекинга статистики открытий почты, несмотря на то, что это сделает нашу работу сложнее: А/Б тесты, детальные статистики по браузерам, и тд. Предлагают, потому что осуждают «слежку» в интернете.

Мой вариант ответа вам: возможно, вам не нужны эти данные, пускай они остаются у пользователя? Да, станет сложнее вытаскивать статистику и делать выводы, но и да, если вам действительно нужно, то есть способы эту статистику собрать. Но бесплатной слежки не останется.

Мой вариант ответа вам: возможно, вам не нужны эти данные, пускай они остаются у пользователя?

Три конкретных примера о том, зачем нужна статистика (полтора из них делается без анализа заголовков, впрочем).


  1. Мой персональный блог (без единой рекламы и без джаваскрипта почти на всех страницах, кроме одной). Из каких стран ко мне чаще всего приходят? То есть, в какой стране лучше всего разворачивать сервер, чтобы всё работало быстро у как можно большего числа пользователей?
  2. Сайт моего опенсорс-проекта. Какие языки включены в браузере? То есть, на переводах на какие языки стоит сосредоточиться?
  3. Сайт моего опенсорс-проекта. Из-под каких ОС на него заходят? То есть, каким ОС лучше уделить внимание?

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

Сайт моего опенсорс-проекта. Из-под каких ОС на него заходят? То есть, каким ОС лучше уделить внимание?

Последнее зачем ?

Я застрял в 2007-м, тут всё ещё есть десктопный софт, который собирают и запускают непосредственно под/в ОС, а не в браузере.


В идеале было бы, конечно, знать распределение дистрибутивов линукса, кстати.

Из каких стран ко мне чаще всего приходят?

Определяется по IP.
Какие языки включены в браузере?

А разве отменяют Accept-Language? Информации по языками не было в UA.
Я, если честно, не вижу каких-то особых моральных проблем в сборе подобной статистики

Я тоже. Одной рукой забирают 1 пункт, другой внедряют десяток, и всё это под эгидой защиты (( Но такие нынче времена, сплошной популизм без реальной пользы.
Определяется по IP.
А разве отменяют Accept-Language?

Поэтому я и написал, что «полтора из них делается без анализа заголовков». Тем не менее, раз уж мы заговорили об этичности статистики вообще, то почему бы и эти случаи не обсудить?

IP с GeoIP НИЧЕГО не говорит о том, откуда пришел человек. Может он с VPN выходит. Или GeoIP просто у вас устаревшая база


Я уж не говорю — всратый мегафон меня всегда с питерского (якобы) айпи выпускает, даже если я в Москве.

IP с GeoIP НИЧЕГО не говорит о том, откуда пришел человек.

Ну это всё равно лучше, чем ничего.


Я уж не говорю — всратый мегафон меня всегда с питерского (якобы) айпи выпускает, даже если я в Москве.

Для целей определения географического положения сервера или желаемого языка это достаточная точность на самом деле.

С языком и страной — согласен, работает.
Но эти умники (или идиоты) — пытаются мой город таким образом определить. И абсолютно плюют на фактические настройки в профиле пользователя, если они есть (этим грешит все начиная от яндекс.карт и заканчивая местечковой шаурмой)

Вот с указание браузера много где надо, потому что юзеру нужно иногда вывести какие-то инструкции, учесть поведение браузера в разных ситуациях, учесть баги браузера, да хоть даже шорткаты учесть, чтобы не перебить дефолтные или не сделать неудобный шорткат. Всё это потому что юзер при использовании браузера не только смотрит страницы, но и взаимодействует с браузером, и в разных браузерах это взаимодействие отличается.
Нет других браузеров — нет проблем же… Это же гугл, это их стратегия во всех продуктах
Что-то мне непонятно, как это должно работать. Ведь отправляемые данные зависят от того, какой браузер запрашивает страницу. Сервер, получив запрос с UA, сразу знает, что отправлять. А теперь потребуется сначала выдать какую-то фейковую страничку (которую предварительно придётся сделать гарантированно работающей во всех браузерах), которая JS'ом запросит нужные параметры, передаст на сервер и перезагрузится с уже новым актуальным содержимым? Попутно ещё куки выставить, чтобы связать эту страничку с последующим запросом (и не забыть потребовать от пользователя подтверждение на эти куки). А если JS вообще выключен? Хоть сейчас и тренд на JS-only, HTML-сайты ещё существуют, и бывает так, что разным браузерам надо разную HTML-разметку отсылать, подстраиваясь под их особенности рендеринга.
Может, они хотят, чтобы вы не подстраивались под разные браузеры, и делали странички только для хрома в соответствии со стандартами?
в соответствии со стандартами?
реализованных так же и в том количестве, как гуглом в хроме.
Гугл в этом плане поступает весьма благородно, кстати.
Они не пилят целком и полностью свои стандарты не оглядываясь ни на кого, а коммитят предложения в рабочую группу WHATWG, где есть люди из Google, Mozilla, Apple и Microsoft, и совместно их обсуждают и принимают. Сторонним наблюдателям, кстати, поучаствовать в дискуссиях никто не запрещает. Более того, если в Хроме что-то реализованно одним образом, а в других браузерах поведение отличается, они подстраивают свою имплементацию так, чтобы было как у других, после чего коммитят обновления в стандарты для того чтобы актуализировать их — в коде Хрома в комментариях об этом встречается далеко не раз и не два.
Гугл в этом плане поступает весьма благородно, кстати.
Они не пилят целком и полностью свои стандарты не оглядываясь ни на кого
Это вы про то, как они могут реализовывать стандарт так, как захотелось, на своих сервисах, с учетом, что выгоду от этого получит хром, а не прочие.
Или про то, что уже вроде как был случай, когда гугл просто реализовал то, что захотел, наплевав на всех, и игнорируя открытый стандарт мозиллы?
Или как они решили хорошо так подрезать в хроме возможности блокировщиков рекламы?
Не, наверное лучшее, это то, что в мобильном сегменте гугл навязывает свою монополию через производителей железа, имея монопольное положение на смартфонных ОС, лицензируемым сторонним компаниям, но при этом специально не добавляет туда расширения.
И вообще, можно вспомнить такое:
Ради миллионов своих пользователей браузеру Opera пришлось прятать свой user agent, только так сервисы Google нормально работали в норвежском браузере.
Они-то, конечно, хотят, это давно известно, но это не отвечает на вопросы. Если считать, что в мире существует лишь единственный и неповторимый и всеми обожаемый браузер, то все эти заморочки с запросом фич не нужны. Раз их всё-таки вводят, значит, допускают, хотя бы в ночных кошмарах, что у кого-то может быть другой браузер или устаревшая версия. А раз так, то все поставленные вопросы остаются актуальными, ибо разные браузеры могут вести себя по-разному.

Писать в соответствии со стандартами, конечно, нужно, но этого недостаточно. Надо ещё чтобы а) эти стандарты неукоснительно соблюдались браузерами — причём всеми браузерами, и б) чтобы стандарты не развивались, а были замороженными раз и навсегда. И то, и другое, очевидно, в нашем мире невозможно.
С ростом популярности JavaScript большинство разработчиков начали использовать библиотеки вроде Modernizer, которые определяют конкретный список функций HTML, CSS и JavaScript, которые поддерживает конкретный браузер, обеспечивая гораздо более точные результаты, чем user-agent.
Ещё раз по пунктам:
1. Как сервер узнает, что надо отдавать клиенту? Может, там какой-нибудь IE6, в котором этот Modernizer даже не запустится. А узнав старого клиента по UA мы могли бы сразу послать туда Lite-версию сайта, без плюшек, но работающую.
2. Как быть, если у клиента отключён JS?
2. Как быть, если у клиента отключён JS?

Поступить как 90% сайтов — отдать белую страницу… С NoScript не знаю ни одного сайта, который хотя бы показал контент верно, как минимум везде едет форматирование, хотя, казалось бы, при чём тут оно и JS…
С NoScript не знаю ни одного сайта, который хотя бы показал контент верно, как минимум везде едет форматирование, хотя, казалось бы, при чём тут оно и JS…

А хабр не считется?

да все уже… доигрались… нет браузера другого, чем пророк единого Хрома… ну, и сафари на заднем плане маячит

Даже не близко. У них переход с одного движка на частично новый произошёл пару лет назад и сейчас они на прекрасном шустром движке продолжают развиваться.
Но всем пофиг, ибо деньги, реклама и самые популярные ресурсы у Гугла…
ну, и сафари на заднем плане маячит

Так сафари это вебкит, устаревшая версия блинка, которая живёт лишь за счёт айфонов, где Apple не разрешает ничего другого.
Так ведь суть в том, что в этом случае надо выдавать как хрому (который сейчас лидер), а если не верно — то пользователь сам дурак. То есть дальнейшая монополизация рынка браузеров гуглом по сути закрепляется. ИЕ умер, да здравствует ИЕХром!
Вместо этого Chrome предложит новый API под названием Client Hints,


Всё просто, механизм идентификации который все научились обходить — уберут.
Вкрячат что-то свое, закрытое и пропиетарное в три слоя, что остальным просто так обходить не получится.
Браузер и мажорная версия будут возвращаться сразу. Примеры:

"Chrome"; v="73"
"Chrome"; v="73",   "Chromium"; v="73"
"Chromium"; v="73",   "adiogjaeiughjsiudgvbiaf_nonexistingBrowser"; v="999"
А, я не заметил, что этот заголовок должен отсылаться всем в обязательном порядке. Тогда это решает проблему. Спасибо.
Ведь отправляемые данные зависят от того, какой браузер запрашивает страницу.

Зачем? 99,9% страниц прекрасно работают на всех десктопных браузерах без каких-либо изменений. Я вот сижу на Firefox, и могу припомнить только один случай, когда страница ломалась в хроме.
99,9% страниц прекрасно работают на всех десктопных браузерах без каких-либо изменений.
Во-первых (даже если забыть, что 99,9% статистических данных в интернете берутся с потолка), не на всех, а только на современных. Есть немало пользователей устареших браузеров, и не все разработчики готовы выбросить таких пользователей на помойку. Во-вторых, браузинг со смартфонов сейчас занимает чуть ли не половину трафика, и ограничиваться только десктопами не комильфо. В-третьих, часть этих «прекрасно работающих без всяких изменений» могут прекрасно работать именно благодаря тому, что смогли определить браузер и адаптировать под него своё поведение.
В-третьих, часть этих «прекрасно работающих без всяких изменений» могут прекрасно работать именно благодаря тому, что смогли определить браузер и адаптировать под него своё поведение.

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

Незнаю насколько это критично но: Недавно обнаружил что Firefox в XSLT match может использовать переменные а Chrome нет(ошибка копиляции). Так же для Chrome надо URL кодировать пути в xsl:import и document.


Можно конечно поумолчанию подстраиваться под Chrome. Firefox это примет. Но в случае xsl:import и document это делает код менее понятным.

Ну, у меня на странице некорректно CSS-ные транзишоны отрабатывались в хроме, пока я в конец страницы не добавил <script> </script> — баг в багтрекере хрома уже несколько лет висит, но, видимо, так как это влияет только на страницы, где нет скриптов, а в современном вебе их маловато, это никто и не чинит.

Это ж сколько петабайт места в логах на всех серверах в целом будет сэкономлено :)
Старый замороженный user-agent всё-равно будет посылаться для совместимости. Правда он будет хорошо сжиматься, ибо их всего два.

Ну и дела, теперь помимо согласия с куками и отказа от уведомлений надо будет ещё дать разрешение прочитать user-agent через client hints. Всё сложнее и сложнее до контента добраться.

Вы забыли про уведомления, геопозицию, камеру и микрофон.
А я вот не понял смысла замены.
«По UA выполняется фингерпринтинг, давайте откажемся от UA, и заюзаем Client Hints».
А что поменяется-то? Те, кто фингерпринтят по UA, дружно заплачут, и не станут использовать Client Hints?
Нет, им будет сложнее его делать, так как запрос со стороны браузера. Хотя уверен, что сам гугл будет в белом списке. Монополия такая монополия ((
Из того, что я вижу тут (раздел «A Proposal»):
  1. UA string замораживается
  2. так же замораживаются navigator.appVersion, navigator.platform, navigator.productSub, navigator.vendor, navigator.userAgent (доступ из JS)
  3. тут бритва Оккама отказала, и пошла дичь: браузеры должны ввести поддержку ua-client-hints
  4. эта же дичь протекает и в JS

И только на последнем шаге описывается, чем же с точки зрения поведения это может отличаться: «браузер может решать, кому и в каком количестве отдавать эту информацию; например, 'топ-сайтам' или сайтам, которые пользователь посещает часто, можно отдавать более детализированную информацию, чем сторонним сайтам; и можно даже спросить у разрешение у пользователя, если мы решим, что это несильно его раздражит» («User agents can make intelligent decisions about what to reveal in each of these attributes. Top-level sites a user visits frequently (or installs!) might get more granular data than cross-origin, nested sites, for example. We could conceivably even inject a permission prompt between the site's request and the Promise's resolution, if we decided that was a reasonable approach.»)

А теперь вопрос: нахрена козе баян зачем вообще вводить ua-client-hints?
Хотите, чтобы браузер принимал решения, кому отдавать полную информацию, а кому частичную — давайте это обсуждать. Будет принято решение, что части сайтов надо информацию «обрезать» — обрезайте UA string. Зачем способ передачи этой информации менять-то?
Зачем способ передачи этой информации менять-то?

Это модно.
Я тоже этого не понимаю, когда вводят 15 способ сделать что-либо при наличии 14 не хуже.

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


Так что привыкайте.

Есть подозрение, что дело было так.
Руководство Google подчинённым: «Надо увеличить долю браузера Chrome»
Подчинённые: «За попу возьмут антимонопольные службы»
Руководство: «Придумайте что-нибудь, как обычно под лозунгом спасения человечества».

В итоге.
Теперь количество браузеров посчитать невозможно, у всех будет одинаковый юзерагент. Долю браузера хром можно доводить до 100%. Попутно сильнее вставляя палки в колёса конкурентам на своих сервисах.
Google против fingerprinting-а — звучит как «пчёлы против мёда»…
Хотя, по большому счёту, сейчас уже куда не плюнь в клиентское ПО, везде возможность подмены User-Agent-а активно используется, так что смысла в разном поведении сервера уже нет. Собственно, и попадаются реагирующие на User-Agent сервера довольно редко, и основная идея у них не «предоставить разный контент», а «навредить неугодным User-Agent», зачем — непонятно.
Суть предлагаемого Client Hints не ясна. Для пользователя особого смысла нет, и подмена Client Hints при необходимости ничем не отличается от подмены User-Agent.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
miran.ru
Численность
51–100 человек
Дата регистрации

Блог на Хабре