Stringa dell'agente utente di Microsoft Edge


11

Ho appena notato che mentre tutti gli altri browser sembrano avere le proprie stringhe di user agent, quelle di Microsoft Edge sembrano simili a questa:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393

Perché contiene Mozilla, Chrome e Safari e non solo Edge?

Risposte:


4

Quindi perché ha Mozilla, Chrome e Safari e non solo Edge?

I progettisti di pagine Web sono semplicemente pigri e tentano di impedire ai visitatori di utilizzare browser specifici, poiché desiderano utilizzare il framework più semplice supportato solo da determinati browser.

È inoltre una decisione di progettazione deliberata limitare l'utilità dei controlli utente-agente. Questa decisione, probabilmente basata sul fatto (dal punto di vista di Spartan / Edge Developers), è che in passato i siti Web avrebbero cercato specificamente IE e avvisato gli utenti di utilizzare un browser diverso.

Poiché Edge / Spartan è stato il primo tentativo di Microsoft di modernizzare il motore Trident e lo scopo di Edge / Spartan era quello di abbinare il set di funzionalità di (Blink, AppleWebKit e Gecko) all'epoca, l'agente utente semplicemente pubblicizzava se stesso come tutto è un modo per impedire ai progettisti di pagine Web di prendere facilmente di mira Edge nello stesso modo in cui hanno preso di mira IE.

Molti siti Web visitati oggi non verranno visualizzati correttamente in Internet Explorer perché non sono codificati correttamente e in genere visualizzano una pagina come in un vecchio browser, anche se Internet Explorer 11 supporta molti dei nuovi standard Web. Alcune pagine verranno visualizzate in modo errato in Internet Explorer mentre funzionano perfettamente su altri browser come Chrome o Firefox.

C'è anche un problema con lo scorrimento a scatti che non scompare per alcuni siti Web anche dopo aver disattivato lo scorrimento regolare e ci sono casi in cui elementi importanti non verranno visualizzati perché una pagina Web identifica il tuo browser come IE.

Il nuovo motore Spartan di Microsoft si maschera da Chrome

Chrome e Firefox fanno anche qualcosa di simile:

Mozilla / 5.0 (Windows NT XY; WOW64) AppleWebKit / 537.36 (KHTML, come Gecko) Chrome / 50.0.2657.0 Safari / 537.36, gzip (gfe), gzip (gfe) "

Vale la pena sottolineare che l'agente utente di IE11 è simile:

Mozilla / 5.0 (Windows NT 10.0; WOW64; Trident / 7.0; rv: 11.0) come Gecko

Modifiche alla stringa dell'agente utente


2

Edge ha fatto finta di essere Chrome, e Chrome ha fatto finta di essere Safari, e Safari ha fatto finta di essere Mozilla. E Edge ha usato EdgeHTML ma non l'ha rivelato, e Chrome ha usato Blink, ma non l'ha rivelato, ma Chrome ha fatto finta di usare WebKit. E Webkit ha fatto finta di essere KHTML e KHTML ha fatto finta di essere Gecko. E la confusione abbondava eccessivamente sulla faccia del web.

Tratto da Qual è il nome della stringa dell'agente utente per Microsoft Edge? commento di Claude

Stringa Microsoft Edge UA:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, come Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

Nel dettaglio perché in questo post sul blog.

Neowin ha recentemente riferito che il nuovo browser Microsoft per Windows 10, Spartan, utilizza la stringa Chrome UA, “Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML, come Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 ". Questo è fatto apposta.

Noterai anche che l'intera stringa termina con "Edge / 12.0", che Chrome non ha.

Vorrei sottolineare che questa non è una deviazione da ciò che Microsoft ha fatto con IE 11, che su Windows 8 recita: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) come Gecko, come spiegato in questo inviare.

Che cosa sta annusando User Agent?

Spesso, gli sviluppatori web emetteranno UA per il rilevamento del browser. Mozilla lo spiega bene sul loro blog:

Servire pagine Web o servizi diversi su browser diversi è generalmente una cattiva idea. Il Web è pensato per essere accessibile a tutti, indipendentemente dal browser o dispositivo che stanno utilizzando. Esistono modi per sviluppare il tuo sito Web per migliorare progressivamente se stesso in base alla disponibilità delle funzionalità anziché al targeting di browser specifici.

Ecco un ottimo articolo che spiega la storia di User Agent.

Spesso, gli sviluppatori pigri annusano semplicemente la stringa UA e disabilitano i contenuti sul loro sito Web in base al browser che credono stia utilizzando lo spettatore. Internet Explorer 8 è un punto di frustrazione comune per gli sviluppatori, quindi controlleranno frequentemente se un utente utilizza QUALSIASI versione di IE e disabiliteranno le funzionalità.

Il team Edge approfondisce ulteriormente questo aspetto nel proprio blog.

Tutte le stringhe dei programmi utente contengono più informazioni su altri browser rispetto al browser che stai utilizzando, non solo token, ma anche numeri di versione "significativi".

Stringa UA di Internet Explorer 11:

Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) come Gecko

Stringa Microsoft Edge UA:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, come Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

La proprietà userAgent è stata giustamente descritta come "un pacchetto di bugie in continua crescita" da Patrick H. Lauke nelle discussioni del W3C. ("O meglio, un atto di bilanciamento per l'aggiunta di abbastanza parole chiave legacy che non avranno immediatamente il vecchio codice di sniffing UA che cade, cercando ancora di trasmettere un po 'di informazioni effettivamente utili e accurate.")

Raccomandiamo agli sviluppatori web di evitare il più possibile lo sniffing UA; le moderne funzionalità della piattaforma web sono quasi tutte rilevabili in modo semplice. Ad esempio, la libreria Modernizr è un modo fantastico e semplice di rilevare funzionalità.

Nell'ultimo anno, abbiamo visto alcuni siti di sniffing UA che sono stati aggiornati per rilevare Microsoft Edge ... solo per fornire un percorso di codice IE11 legacy. Questo non è l'approccio migliore, poiché Microsoft Edge corrisponde ai comportamenti "WebKit", non ai comportamenti IE11 (eventuali differenze di Edge-WebKit sono bug che ci interessa correggere).

Nella nostra esperienza Microsoft Edge funziona meglio sui percorsi del codice "WebKit" in questi siti. Inoltre, con Internet che diventa disponibile su una più ampia varietà di dispositivi, supponiamo che i browser sconosciuti siano buoni, per favore non limitare il tuo sito a funzionare solo su un piccolo set di browser conosciuti attuali. Se lo fai, il tuo sito si romperà quasi sicuramente in futuro.

Conclusione

Presentando la stringa Chrome UA, possiamo aggirare gli hack che questi sviluppatori stanno utilizzando, per offrire agli utenti la migliore esperienza.

Tratto da Qual è il nome della stringa dell'agente utente per Microsoft Edge? risposta di Dave Voyles .


Argh ... Non mi è venuto in mente di cercarlo su StackOverflow. Grazie comunque!
PulseJet,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.