String Agen Pengguna Microsoft Edge

11

Saya baru saja memperhatikan bahwa sementara semua peramban lain tampaknya memiliki string agen pengguna mereka sendiri, Microsoft Edge sepertinya terlihat seperti ini:

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

Mengapa ada Mozilla, Chrome dan Safari, dan bukan hanya Edge di dalamnya?

PulseJet
sumber

Jawaban:

4

Jadi mengapa ada Mozilla, Chrome dan Safari, dan bukan hanya Edge di dalamnya?

Desainer halaman web hanya malas, dan mereka berusaha untuk memblokir pengunjung dari menggunakan browser tertentu, karena mereka ingin menggunakan kerangka kerja yang lebih mudah yang hanya didukung oleh browser tertentu.

Ini juga merupakan keputusan desain yang disengaja untuk membatasi kegunaan pemeriksaan agen-pengguna. Keputusan ini kemungkinan didasarkan pada fakta (dari perspektif Spartan / Edge Developers), adalah bahwa di masa lalu, situs web akan mencari secara khusus untuk IE dan memberi tahu pengguna untuk menggunakan browser yang berbeda.

Karena Edge / Spartan adalah upaya pertama Microsoft untuk memodernisasi mesin Trident, dan tujuan Edge / Spartan adalah untuk mencocokkan set fitur (Blink, AppleWebKit, dan Gecko) pada saat itu, agen pengguna hanya mengiklankan dirinya sebagai segala sesuatu adalah salah satu cara untuk mencegah perancang Halaman Web dengan mudah menargetkan Edge dengan cara yang sama seperti yang mereka targetkan di IE.

Banyak situs web yang Anda kunjungi hari ini tidak akan ditampilkan dengan baik di IE karena mereka tidak diberi kode dengan benar dan biasanya menampilkan halaman seperti di browser lama, meskipun Internet Explorer 11 mendukung banyak standar web baru. Beberapa halaman akan ditampilkan secara tidak benar di IE saat bekerja dengan sangat baik pada browser lain seperti Chrome atau Firefox.

Ada juga masalah dengan scroll tersentak yang tidak hilang untuk beberapa situs web bahkan setelah Anda mematikan scrolling mulus, dan ada beberapa kasus di mana elemen-elemen penting tidak akan ditampilkan karena halaman web mengidentifikasi browser Anda sebagai IE.

Mesin Spartan baru Microsoft menutupi dirinya sebagai Chrome

Chrome dan Firefox juga melakukan hal serupa:

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

Perlu ditunjukkan bahwa agen pengguna IE11 serupa:

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

String agen pengguna berubah

Ramhound
sumber
2

Edge berpura-pura menjadi Chrome, dan Chrome berpura-pura menjadi Safari, dan Safari berpura-pura menjadi Mozilla. Dan Edge menggunakan EdgeHTML tetapi tidak mengungkapkannya, dan Chrome menggunakan Blink, tetapi tidak mengungkapkannya, tetapi Chrome berpura-pura menggunakan WebKit. Dan Webkit berpura-pura menjadi KHTML, dan KHTML berpura-pura menjadi Tokek. Dan kebingungan berlimpah di wajah web.

Diambil dari Apa nama string Agen Pengguna untuk Microsoft Edge? komentar oleh Claude

String Microsoft Edge UA:

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

Saya jelaskan mengapa dalam posting blog ini.

Neowin baru-baru ini melaporkan bahwa browser baru Microsoft untuk Windows 10, Spartan, menggunakan string Chrome UA, "Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML, seperti Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 ″. Itu dilakukan dengan sengaja.

Anda juga akan melihat bahwa seluruh string diakhiri dengan "Edge / 12.0", yang tidak dimiliki Chrome.

Saya harus menunjukkan, bahwa ini bukan keberangkatan redical dari apa yang Microsoft lakukan dengan IE 11, yang pada Windows 8 berbunyi: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) seperti Gecko, seperti yang dijelaskan dalam ini pos.

Apa itu Agen Pengguna mengendus?

Seringkali, pengembang web akan mengendus UA untuk deteksi browser. Mozilla menjelaskannya dengan baik di blog mereka:

Melayani halaman Web atau layanan yang berbeda untuk browser yang berbeda biasanya merupakan ide yang buruk. Web dimaksudkan untuk dapat diakses oleh semua orang, terlepas dari browser atau perangkat yang mereka gunakan. Ada beberapa cara untuk mengembangkan situs web Anda untuk semakin meningkatkan dirinya berdasarkan ketersediaan fitur daripada dengan menargetkan browser tertentu.

Berikut adalah artikel bagus yang menjelaskan sejarah Agen Pengguna.

Seringkali, pengembang yang malas hanya akan mengendus-endus untuk string UA dan menonaktifkan konten di situs web mereka berdasarkan pada browser yang mereka percayai pemirsa gunakan. Internet Explorer 8 adalah titik frustrasi yang umum bagi pengembang, sehingga mereka akan sering memeriksa apakah pengguna menggunakan versi IE APAPUN, dan menonaktifkan fitur.

Tim Edge merinci ini lebih dalam di blog mereka.

Semua string agen pengguna berisi lebih banyak informasi tentang browser lain dari pada browser yang sebenarnya Anda gunakan - tidak hanya token, tetapi juga nomor versi 'bermakna'.

String UA Internet Explorer 11:

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

String Microsoft Edge UA:

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

Properti userAgent telah digambarkan sebagai "paket kebohongan yang terus tumbuh" oleh Patrick H. Lauke dalam diskusi W3C. ("Atau lebih tepatnya, tindakan penyeimbangan untuk menambahkan kata kunci warisan yang cukup yang tidak akan segera memiliki kode UA-sniffing lama yang jatuh, sambil tetap mencoba menyampaikan sedikit informasi yang benar-benar berguna dan akurat.")

Kami menyarankan agar pengembang web menghindari sniffing UA sebanyak mungkin; fitur platform web modern hampir semuanya dapat dideteksi dengan cara mudah. Misalnya, perpustakaan Modernizr adalah cara yang fantastis dan sederhana untuk mendeteksi fitur.

Selama setahun terakhir, kami telah melihat beberapa situs sniffing UA yang telah diperbarui untuk mendeteksi Microsoft Edge ... hanya untuk menyediakannya dengan jalur kode IE11 lama. Ini bukan pendekatan terbaik, karena Microsoft Edge cocok dengan perilaku 'WebKit', bukan perilaku IE11 (perbedaan Edge-WebKit adalah bug yang kami tertarik untuk memperbaikinya).

Dalam pengalaman kami, Microsoft Edge berjalan paling baik di jalur kode 'WebKit' di situs-situs ini. Selain itu, dengan internet menjadi tersedia di berbagai perangkat yang lebih luas, silakan asumsikan browser yang tidak dikenal itu baik - jangan membatasi situs Anda hanya untuk bekerja pada sejumlah kecil browser yang dikenal saat ini. Jika Anda melakukan ini, situs Anda hampir pasti akan rusak di masa depan.

Kesimpulan

Dengan menghadirkan string UA UA, kami dapat mengatasi peretasan yang digunakan pengembang ini, untuk menghadirkan pengalaman terbaik bagi pengguna.

Diambil dari Apa nama string Agen Pengguna untuk Microsoft Edge? jawaban oleh Dave Voyles .

Hex
sumber
Argh ... Tidak terpikir oleh saya untuk mencari ini di stackoverflow. Bagaimanapun, terima kasih!
PulseJet