Строка пользовательского агента, содержащая странный номер версии в macOS Big Sur

#php #firefox #safari #user-agent #macos-big-sur

#php #firefox #safari #user-agent #macos-big-sur

Вопрос:

Я использую macOS Big Sur 11.0.1.

Я пытаюсь получить версию ОС из пользовательского агента с помощью этого скрипта:

 $ua = $_SERVER['HTTP_USER_AGENT'];
echo "User Agent: $ua"; 
 

Вывод с помощью Firefox (версия 83.0):

 User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:82.0) Gecko/20100101 Firefox/82.0
 

Вывод с помощью Safari (версия 14.0.1):

 User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15
 

Итак:

  • Firefox сообщает о Mac OS X 10.16
  • Safari сообщает о Mac OS X 10.15.6

10.16, о котором сообщает Firefox, выше, чем последняя версия Catalina, которая составляет 10.15.7. Поскольку нет Catalina 10.16, это можно использовать для обнаружения «чего-либо более нового, чем новейшая Catalina».

Но 10.15.6, о котором сообщает Safari, является фактическим номером версии Catalina, поэтому в Safari нет способа обнаружить Big Sur.

Кто-нибудь знает, что здесь происходит?

IMO оба браузера должны сообщать 11.0.1.

Ответ №1:

Это временное изменение.

«Мир, по-видимому, не готов к macOS 11.0 в пользовательских агентах. Из-за удручающего UA, отслеживающего код в Интернете, давайте просто сообщим о нашем текущем выпуске доставки, пока все не уляжется «.

https://bugs .webkit.org/show_bug.cgi?id=216593