Parse string user agent
Parser user agent membaca token dalam header User-Agent dan mengubahnya menjadi field terstruktur. Di bawah ini, tiga string tetap — browser desktop, ponsel, dan crawler mesin pencari — diproses oleh parser yang sama dengan alat interaktif, diikuti aturan yang diterapkannya.
Contoh praktis
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- Browser
- Chrome 120.0.0.0
- Mesin
- Blink
- Sistem operasi
- Windows 10/11
- Kelas perangkat
- Desktop
- Perangkat
- Tidak diketahui
- Arsitektur CPU
- x64
- Bot / crawler
- Tidak
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
- Browser
- Safari 17.0
- Mesin
- WebKit
- Sistem operasi
- iOS 17.0
- Kelas perangkat
- Mobile
- Perangkat
- Apple iPhone
- Arsitektur CPU
- Tidak diketahui
- Bot / crawler
- Tidak
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.216 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
- Browser
- Chrome 120.0.6099.216
- Mesin
- Blink
- Sistem operasi
- Android 6.0.1
- Kelas perangkat
- Bot
- Perangkat
- Nexus 5X Build/MMB29P
- Arsitektur CPU
- Tidak diketahui
- Bot / crawler
- Googlebot
Chrome di Windows mengirim Windows NT 10.0, yang dipakai bersama oleh Windows 10 dan Windows 11, sehingga OS ditampilkan sebagai 10/11. Di iPhone, Version/17.0 memberikan versi Safari dan iPhone OS 17_0 memberikan versi iOS. String Googlebot menyematkan user agent Chrome di Android yang lengkap, tetapi tanda tangan crawler diperiksa lebih dulu, sehingga kelas perangkatnya adalah bot; field browser dan OS tetap menampilkan identitas yang diakui oleh crawler tersebut.
Aturan utama
- Tanda tangan crawler diperiksa lebih dulu: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot, dan facebookexternalhit. Jika cocok, kelas perangkat diatur ke bot meskipun ada token browser.
- Browser dicocokkan dalam urutan tetap — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari, lalu Chromium — karena sebagian besar string juga berisi token browser lain. Mesin mengikuti browser: Blink, Gecko, atau WebKit.
- Sistem operasi diambil dari bagian platform di dalam tanda kurung: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X, atau Linux. Garis bawah dalam nomor versi Apple diubah menjadi titik.
- Kelas perangkat adalah tablet untuk iPad, token Tablet, atau Android tanpa token Mobile; mobile untuk iPhone atau Android dengan token Mobile; dan desktop untuk Windows, macOS, Linux, dan ChromeOS.
- Apa pun yang tidak dinyatakan dalam string tetap tidak diketahui (null dalam output JSON), bukan ditebak. Keyakinan hanya tinggi jika browser dan sistem operasi sama-sama cocok.
- Klien mana pun dapat mengirim user agent Googlebot. Untuk memastikan crawler Google asli, lakukan pencarian DNS balik (reverse DNS) pada IP permintaan, periksa bahwa namanya berakhiran googlebot.com atau google.com, lalu konfirmasi dengan pencarian DNS maju (forward lookup).