Существует ли RFC, официальный стандарт или шаблон для создания Строки агента пользователя? Строка агента пользователя iPhone кажется странной...
Mozilla/5.0 (iPhone; U; ЦП iPhone OS 3_1_2 как Mac OS X; en-us) AppleWebKit/528.18 (KHTML, как Геккон) Safari/528.16 Версии/4.0 Mobile/7D11
Заголовок User-Agent
является частью RFC7231
, который является улучшенной версией 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 ")">
Это указано в RFC 1945 в разделе заголовков запросов. Однако это не очень стандартизованный формат, и пользовательские агенты обычно помещают туда все, что хотят.
Да, см .: веб-сайт mozilla , но, как уже упоминалось ранее. В принципе, вы можете поместить туда все, что захотите. Для статистических / аналитических целей наиболее важным является то, что каждый браузер / операционная система должна иметь это стандартизованное для себя.