Mengapa semua agen pengguna browser memulai dengan “Mozilla /”?

211

Semua string agen pengguna browser populer, bahkan Internet Explorer, dimulai dengan Mozilla/. Mengapa demikian?

sashaeve
sumber
2
Agen pengguna telah digunakan untuk memberi tahu server web “ Saya bukan omong kosong acak; Saya juga mendukung fitur yang mendukung ini. Tolong jangan mendiskriminasi saya. " Karenanya agen pengguna browser memiliki semua yang lain di dalamnya.
Константин Ван

Jawaban:

286

Ini adalah kisah yang panjang dan menyedihkan .

Singkatnya:

  1. Browser Mozilla dirilis, dengan User-Agent Mozilla/1.0 (Win3.1). Ini secara publik diganti namanya menjadi Netscape, tetapi dalam User-Agent-nya ia menyimpan nama aslinya.
  2. Internet Explorer dilepaskan. Ini menipu Netscape dengan memulai Agen Pengguna-nya dengan Mozilla/karena server web secara rutin mengendus-endus peramban dan melayani halaman dengan bingkai - fitur yang didukung oleh Netscape dan IE, tetapi bukan browser lain pada zaman itu - hanya untuk Netscape.
  3. Seiring waktu, Gecko, Konqueror, Opera, Safari, dan Chrome masing-masing memutuskan untuk secara spoof menggunakan User-Agent dari beberapa browser sebelumnya untuk memanipulasi halaman web yang mengendus browser agar dapat dengan benar memahami fitur-fitur browser mereka. Sebagai bagian dari spoofing ini, semua browser memulai User-Agent mereka Mozilla/, seperti browser sebelumnya. Banyak omong kosong lainnya juga hasil, seperti User-Agent Chrome modern secara bersamaan mengklaim sebagai Mozilla, Chrome, Safari, dan 'seperti Gecko'.
Jason Creighton
sumber
18
Perhatikan bahwa "Mozilla" di sini bukan proyek open-source dari nama itu, tetapi nama kode asli Netscape, yang dianggap merujuk pada "Mosaic Killer". Nama kode itu digunakan kembali bertahun-tahun kemudian untuk proyek open source, yang mesin renderingnya adalah "Gecko" yang disebutkan di sini.
IMSoP
75
Dan di sinilah kita pada tahun 2015, masih melanggengkan kebodohan. String agen pengguna MS Edge adalah Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.1.
filoxo
18
Tidak heran sulit untuk melakukan deteksi browser, mereka semua berpura-pura menjadi satu sama lain!
Sarsaparilla
3
Perang browser bukan tanpa korban.
Pikamander2
11
Jika userAgentString berantakan, mengapa tidak ditinggalkan dan / atau dihapus?
Melvin Abraham
29

Saya pikir itu ada hubungannya dengan: http://en.wikipedia.org/wiki/User_agent#User_agent_spoofing

Kembali pada masa-masa awal, Netscape (kode bernama Mozilla) adalah saingan utama IE, dan mereka ingin mencegah ditolak oleh situs-situs yang menolak browser selain Netscape.

Mike Mu
sumber
10

Seperti yang disebutkan oleh @Jason "Ini cerita panjang". Menyimpulkan cerita itu "hanya setiap browsernya berpura-pura menjadi Mozilla"

Setelah mencoba semuanya, saya akhirnya menggunakan: http://www.useragentstring.com/

Anda dapat menggunakan situs web di atas untuk mendapatkan agen pengguna dan OS yang diformat.
Mereka memiliki API yang dapat Anda gunakan langsung ...

Abhishek Goel
sumber
1
Koreksi hebat: setiap browser, termasuk Mozilla, berpura-pura menjadi Netscape, yang agen-penggunanya memulai Mozilla. Fakta bahwa nama kode itu digunakan kembali hanya menambah kebingungan.
IMSoP
Dasar kode Mozilla dan Firefox pada awalnya adalah bagian dari Netscape. Itu sebabnya banyak API internal Firefox memiliki "ns" sebagai awalannya.
Lie Ryan
2

Karena itulah cara Netscape mengidentifikasi dirinya, dan Microsoft ingin bekerja dengan situs yang akan mendeteksi Netscape dan menolak yang lain.

billpg
sumber
1

Alasan untuk ini adalah perang browser yang terkenal .

Singkatnya, browser mulai berpura-pura menjadi browser lain, karena beberapa situs web menyajikan konten berdasarkan browser yang diminta dan mereka juga menginginkan konten yang dimaksudkan untuk browser lain.

Saya merasa mengejutkan bahwa itu masih belum diselesaikan sampai hari ini. Karena userAgenttidak dapat dihapus dengan aman karena alasan lama, mengapa beberapa fitur baru yang mengidentifikasi browser tidak diperkenalkan? Ya, sebagian besar waktu Anda tidak perlu deteksi browser, melainkan deteksi fitur, tetapi juga bukan JS bawaan!

banyak
sumber
0

Mozilla / 5.0 adalah token umum yang mengatakan bahwa browser itu kompatibel dengan Mozilla, dan umum untuk hampir setiap browser saat ini. untuk lebih detail klik di sini

Pankaj Chauhan
sumber
2
Ini sedikit menyesatkan - perhatikan bahwa "Mozilla" yang dimaksud sebenarnya adalah browser Mozilla (Mosaic-killer), yang diganti namanya menjadi Netscape sebelum rilis (dan yang sebagian besar pembaca mungkin belum pernah mendengar namanya aslinya) - tidak Mozilla komunitas perangkat lunak gratis nirlaba yang masih ada sampai sekarang.
Mark Amery