Тризначні номери версій Chrome і Firefox назвали загрозою для роботи сайтів

Розробники браузерів Chrome і Firefox, які скоро досягнуть 100 версії, попередили, що це може викликати несумісність з деякими сайтами. Виявилося, що через особливості обробки ідентифікатора User Agent на деяких сайтах вони некоректно сприймають тризначне значення версії і вважають браузер непідтримуваним.


При переході на веб-сторінку браузер передає їй інформацію про свій тип і версію, а також про операційну систему у вигляді ідентифікатора User Agent. Це дозволяє власникам сайту збирати статистику, в тому числі про некоректну роботу в конкретних браузерах, і надавати версію сторінки, адаптовану для того чи іншого браузера. Також багато сервісів використовують User Agent, щоб попереджати користувачів про можливу несумісність або зовсім блокувати доступ. Іноді це призводить до штучної несумісності, наприклад, як було з Google Docs після переходу браузера Edge на Chromium.


Розробники браузерів Firefox і Chrome розповіли, що зіткнулися з новою проблемою, пов'язаною з User Agent. Справа в тому, що навесні обидва браузери дійдуть до 100 версії, а це означає, що у відповідному місці User Agent буде використовуватися не двозначне значення, а тризначне. Не всі скрипти сайтів, призначені для обробки цього ідентифікатора, виявилися готові до такої зміни.

Виставивши версію 100 в User Agent, розробники обох браузерів виявили різні неполадки на деяких сайтах, у тому числі і великих порталах: Slack, Yahoo, HBO Go, T-Mobile. Залежно від сайту, сторінки виявляли ті чи інші баги. Наприклад, з'ясувалося, що Slack порівнював версію браузера користувача з підтримуваними не як число, а як рядок, тому сервіс вважав версію 100 більш ранньою, ніж 52, і включав режим сумісності, який фактично ламав деякі елементи інтерфейсу.

В обох браузерах, у версіях для розробників, з'явилася функція відображення сотої версії, щоб користувачі і тестувальники могли допомогти розробникам браузерів і сайтів підготуватися до весняних релізів. На випадок, якщо вчасно виправити всі баги не вдасться, команди Chrome і Firefox розглядають можливість тимчасово зупинитися на версії 99 і відображати реальний номер після цього числа, наприклад, 99.101.4988.0, де реальний номер версії - 101. Однак вони також відзначають, що поки виявили не дуже багато несумісних сайтів, розробники яких швидко пішли на зустріч і виправили некоректну роботу.

Подібні проблеми траплялися і раніше. Конкретно в браузерах аналогічна ситуація трапилася, коли багато з них переходили від однозначної версії до двозначної. Більш широкою виявилася «помилка 2000 року», при якій деякі електронні системи з різних областей виявилися неготові до запису дати в новому форматі. Детальніше про це ми розповідали в матеріалі «Кінці світу».

COM_SPPAGEBUILDER_NO_ITEMS_FOUND