2010-04-08 13 views
46

Esiste un RFC, standard ufficiale o modello per la creazione di una stringa di User Agent? stringa user-agent di iPhone sembra strano ...Qual è il formato standard per la stringa User-Agent di un browser?

Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 come Mac OS X; it-it) AppleWebKit/528,18 (KHTML, come Gecko) Version/4.0 mobile/7D11 Safari/528,16

+1

L'iPhone mette seriamente 'Mozilla/5.0' all'inizio di esso è user agent? – Tarka

+7

@Slokun perché la sorpresa? L'agente utente di IE inizia con 'Mozilla/4.0'. Ricorda che Mozilla è uno dei primi browser a essere realizzato, e tutti gli altri includono, in gradi diversi, parti del suo fondamento. –

+0

@Paulo Santos Credo di non aver visto abbastanza stringhe di user-agent. – Tarka

risposta

60

L'intestazione User-Agent fa parte del RFC2616, che è una versione migliorata del RFC1945, dove si afferma:

La richiesta-header campo User-Agent contiene informazioni sull'agente utente generato la richiesta . Questo è per scopi statistici, il tracciamento delle violazioni del protocollo e il riconoscimento automatico degli agenti utente al fine di personalizzare le risposte per evitare particolari limitazioni degli agenti . Gli agenti utente DOVREBBE includere questo campo con le richieste . Il campo può contenere più token di prodotti (sezione 3.8) e commenti che identificano l'agente e tutti i sottoprodotti che formano una parte significativa dell'agente utente . Per convenzione, i token del prodotto sono elencati in ordine di importanza per l'identificazione dell'applicazione .

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

Dove product è definito come:

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

E comment come:

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

Grazie, questo è esattamente quello che stavo cercando. Non sembra essere un formato standard per il campo dei commenti. –

+0

Che cos'è "coppia quotata"? – QED

+0

quoted-pair = "\" CHAR –

9

Questo è specificato nella RFC 1945 nella sezione relativa intestazioni di richiesta. Non è un formato molto standardizzato, tuttavia, e gli user agent tendono a mettere tutto ciò che vogliono.

+0

Thx! La tua risposta combinata con quella di Paulo è la risposta completa. –

+0

Prego! Sembra che Paulo sia in realtà più completo e aggiornato, quindi sentiti libero di contrassegnare il suo come accettato. – tloflin

1

Sì, vedere: mozilla website, ma come è stato menzionato prima. Fondamentalmente puoi mettere tutto quello che vuoi lì. A fini statistici/analitici, la cosa più importante è che ogni browser/sistema operativo dovrebbe avere questo standard per se stesso.

Problemi correlati