Разбор структуры строки User-Agent
Руководство по User-Agent
Даже сложный на вид User-Agent состоит из нескольких заданных фрагментов. Возьмём для примера десктопный Chrome.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Значение каждого фрагмента
Mozilla/5.0— префикс, оставшийся исторической практикой. Его добавляют почти все браузеры.(Windows NT 10.0; Win64; x64)— платформенный токен. Обозначает операционную систему и архитектуру.AppleWebKit/537.36 (KHTML, like Gecko)— обозначение семейства движка рендеринга (общее для Blink/WebKit).Chrome/126.0.0.0— настоящий браузер и его версия.Safari/537.36— обозначение Safari, оставленное ради совместимости.
Чем отличается мобильный
В мобильный UA добавляется токен Mobile, а в платформенный токен попадает модель устройства — например, Android 14; Pixel 8. Safari на iOS использует собственные токены, такие как iPhone; CPU iPhone OS 17_5 like Mac OS X и Mobile/15E148.
Обозначения производных браузеров
Edge, Opera и Samsung Internet основаны на Chromium, поэтому оставляют токен Chrome/ как есть и добавляют в конце Edg/, OPR/, SamsungBrowser/, чтобы отличить себя. Поэтому при разборе UA для точности нужно сначала проверять эти производные токены.
Предпросмотр обратного разбора на этом сайте раскладывает UA на браузер, движок, ОС и устройство по описанным выше правилам.