Заголовок 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 ")">
iPhone серьезно ставит 'Mozilla/5.0' в начале это пользовательский агент? – Tarka
@Slokun, почему сюрприз? Пользовательский агент IE начинается с 'Mozilla/4.0'. Помните, что Mozilla - один из первых браузеров, который будет создан, и все остальные включают в разной степени части своего фундамента. –
@Paulo Santos Думаю, я просто не смотрел достаточно строк пользовательских агентов. – Tarka