2010-04-08 16 views
46

¿Existe un RFC, estándar oficial o plantilla para crear una cadena de agente de usuario? cadena de agente de usuario del iPhone parece extraño ...¿Cuál es el formato estándar para la cadena de User-Agent de un navegador?

Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 como Mac OS X; en-us) AppleWebKit/528.18 (KHTML, como Gecko) Version/4.0 Mobile/7D11 Safari/528,16

+1

El iPhone pone serio 'Mozilla/5.0' al principio de que es? – Tarka

+7

@Slokun ¿por qué la sorpresa? El usuario-agente de IE comienza con 'Mozilla/4.0'. Recuerde que Mozilla es uno de los primeros navegadores que se creará, y todos los demás incluyen, en diversos grados, partes de su base. –

+0

@Paulo Santos Supongo que simplemente no he observado suficientes cadenas de agente de usuario. – Tarka

Respuesta

60

La cabecera User-Agent es parte de la RFC2616, que es una versión mejorada de la RFC1945, donde se afirma:

El campo de petición-cabecera User-Agent contiene información sobre el agente usuario que origina la solicitud . Esto es para fines estadísticos, el seguimiento de las violaciones del protocolo y el reconocimiento automático de los agentes del usuario por el bien de adaptar las respuestas para evitar las limitaciones particulares del agente del usuario. Los agentes de usuario DEBERÍAN incluir este campo con las solicitudes . El campo puede contener varios tokens de productos (sección 3.8) y comentarios que identifiquen el agente y cualquier subproducto que forme una parte significativa del agente de usuario . Por convención, los tokens de producto se enumeran por orden de importancia para identificar la aplicación .

User-Agent  = "User-Agent" ":" 1*(product | comment) 

Dónde product se define como:

product   = token ["/" product-version] 
    product-version = token 
    token   = 1*<any CHAR except CTLs or separators> 

Y comment como: agente de usuario

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

Gracias, esto es exactamente lo que estaba buscando. No parece haber un formato estándar para el campo de comentarios. –

+0

¿Qué es "par citado"? – QED

+0

quoted-pair = "\" CHAR –

9

Esto se especifica en RFC 1945 en el apartado de Solicitud de Cabeceras. Sin embargo, no es un formato muy estandarizado, y los agentes de usuario tienden a poner lo que quieran allí.

+0

¡Thx! Su respuesta combinada con la de Paulo es la respuesta completa. –

+0

¡De nada! Parece que el de Paulo es en realidad más completo y actualizado, así que siéntete libre de marcarlo como aceptado. – tloflin

1

Sí, ver: mozilla website, pero como se mencionó anteriormente. Básicamente puedes poner lo que quieras allí. Para fines estadísticos/analíticos, lo más importante es que cada navegador/sistema operativo debe tener esto estandarizado para sí mismo.

Cuestiones relacionadas