Обновление до версии №100: почему Firefox и Chrome скоро могут вызвать проблемы в сети

Обновление до версии №100: почему Firefox и Chrome скоро могут вызвать проблемы в сети

Выпуск Google Chrome версии 100 запланирован на 29 марта 2022 года, и ожидается, что Firefox последует примеру своего главного конкурента 3 мая 2022 года. Трехзначные номера версий, по-видимому, могут привести к проблемам на веб-сайтах, которые полагаются на определение версии браузера. Согласно сообщению в блоге Mozilla, Firefox и Chrome уже работают над стратегиями смягчения последствий.

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

Браузеры (и другие пользовательские агенты, такие как видеоклиенты или поисковые роботы) идентифицируют себя в интернете с помощью заголовка Http, который содержит так называемую строку пользовательского агента (UA) или по-другому пользовательский агент. Эта строка отправляется с каждым запросом, который браузер отправляет на сервер. Это поле пользовательского агента обычно имеет следующий формат: имя_браузера/основная версия.дополнительная версия.

User-Agent: <product> / <product-version> <comment>

Формат содержит информацию о пользовательском агенте, т. е. в случае Chrome/Firefox о браузере, из которого исходит запрос. Эта информация используется серверами для определения объема любых проблем взаимодействия, для настройки ответов, для обхода ограничений браузера или в целях аналитики (какой браузер, какая ОС).

Переход с версии 9 на 10 был, видимо, более проблематичным

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

Стратегии контроля ущерба уже существуют

Команды обоих браузеров начали экспериментировать в этой области несколько месяцев назад и, согласно сообщению в блоге, работают над выявленными в ходе этого проблемами. Эксперименты будут продолжаться до тех пор, пока не будут выпущены стабильные версии 100 обоих браузеров. Кроме того, Chrome и Firefox разработали стратегии смягчения последствий на тот случай, если выпуск соответствующих версий нанесет в 100 раз больше ущерба, чем предполагалось изначально. В Firefox должен использоваться механизм восстановления, который отправляет парсеру номер версии 99 вместо фактического номера версии 100. Если ошибка окажется очень распространенной, Firefox планирует сначала заморозить основную версию на версии 99, а затем протестировать другие варианты.
Chrome следует аналогичной стратегии.

Разработчиков призывают протестировать систему

Чтобы предотвратить повторение такой проблемы в будущем, блог Mozilla обращается к веб-разработчикам за помощью. Излишняя сложность темы строки пользовательского агента негативно влияет на всю экосистему. Как в Chrome, так и в Firefox уже можно настроить браузер так, чтобы он отображался как основная версия 100.

Роман
Оцените автора
Безопасник
Добавить комментарий