Каков стандартный формат строки 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, но, как упоминалось ранее. В принципе, вы можете положить туда все, что захотите. Для статистических / аналитических целей самое главное, что каждый браузер / ОС должен иметь этот стандартизированный для себя.