2010-04-08 4 views
46

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

Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2, как Mac OS X; ан-нас) AppleWebKit/528,18 (KHTML, как Gecko) Версия/4.0 Mobile/7D11 Safari/528,16

+1

iPhone серьезно ставит 'Mozilla/5.0' в начале это пользовательский агент? – Tarka

+7

@Slokun, почему сюрприз? Пользовательский агент IE начинается с 'Mozilla/4.0'. Помните, что Mozilla - один из первых браузеров, который будет создан, и все остальные включают в разной степени части своего фундамента. –

+0

@Paulo Santos Думаю, я просто не смотрел достаточно строк пользовательских агентов. – Tarka

ответ

60

Заголовок 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 ")"> 
+0

Спасибо, это именно то, что я искал. Кажется, что нет стандартного формата для поля комментариев. –

+0

Что такое "quoted-pair"? – QED

+0

quoted-pair = "\" CHAR –

9

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

+0

Thx! Ваш ответ в сочетании с Пауло дает полный ответ. –

+0

Добро пожаловать! Похоже, Пауло на самом деле более совершенен и обновлен, поэтому не стесняйтесь отмечать его, как принято. – tloflin

1

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

Смежные вопросы