Подтвердить что ты не робот

Каков стандартный формат для строки User-Agent браузера?

Существует ли RFC, официальный стандарт или шаблон для создания строки User Agent? Строка пользовательского агента iphone кажется странной...

Mozilla/5.0 (iPhone, U; ЦП iPhone OS 3_1_2, как Mac OS X; en-us) AppleWebKit/528.18 (KHTML, например, Gecko) Версия /4.0 Mobile/7D11 Safari/528.16

4b9b3361

Ответ 1

Заголовок User-Agent является частью RFC2616, который является улучшенной версией RFC1945, где указано:

Поле заголовка запроса-пользователя User-Agent содержит информацию о    пользовательский агент, отправляющий запрос. Это делается для статистических целей,    отслеживание нарушений протокола и автоматическое распознавание пользователя    агентов для адаптации ответов, чтобы избежать конкретного пользователя    ограничений агента. Пользовательские агенты ДОЛЖНЫ включать это поле с    Запросы. Поле может содержать несколько токенов продукта (раздел 3.8)    и комментарии, идентифицирующие агента и любые субпродукты, которые образуют    значительная часть пользовательского агента. По соглашению, токены продукта    перечислены в порядке их значимости для идентификации    приложение.

   User-Agent     = "User-Agent" ":" 1*( product | comment )

Где product определяется как:

   product         = token ["/" product-version]
   product-version = token
   token           = 1*<any CHAR except CTLs or separators>

И comment как:

   comment        = "(" *( ctext | quoted-pair | comment ) ")"
   ctext          = <any TEXT excluding "(" and ")">

Ответ 2

Это указано в RFC 1945 в разделе заголовков запроса. Однако это не очень стандартизованный формат, и пользовательские агенты склонны вкладывать туда все, что захотят.

Ответ 3

Да, см. сайт mozilla, но, как уже упоминалось ранее. В принципе, вы можете поставить туда, где хотите. Для статистических/аналитических целей самое главное, что каждый браузер /os должен иметь это стандартизованное для себя.