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

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

Mozilla / 5.0 (iPhone; U;CPU iPhone OS 3_1_2, как Mac OS X; en-us) AppleWebKit / 528.18 (KHTML, как геккон) версия / 4.0 Mobile / 7d11 Safari / 528.16

3 ответов


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

поле User-Agent request-header содержит информацию о агент пользователя, инициирующий запрос. Это для статистических целей, отслеживание нарушений протокола и автоматическое распознавание пользователя агенты для адаптации ответов, чтобы избежать конкретного пользователя ограничения агента. Агенты пользователей должны включать это поле с запросы. Поле может содержать несколько маркеров продукта (раздел 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 as:

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

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


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