Rastgele Kullanıcı Aracısı Oluşturucu - Tarayıcı Dizelerini Oluşturma
Chrome, Firefox, Safari ve Edge için gerçekçi kullanıcı aracısı dizelerini oluşturun. Tarayıcı uyumluluğunu, duyarlı tasarımları ve API'ları gerçekçi tarayıcı tanımlayıcılarıyla test edin.
Rastgele Kullanıcı Aracısı Oluşturucu
Web geliştirme testleri için rastgele, gerçekçi tarayıcı kullanıcı aracısı dizgeleri oluşturun.
Oluşturulan Kullanıcı Aracısı
Belgeler
Rastgele Kullanıcı Aracısı Oluşturucu
Rastgele kullanıcı aracısı oluşturucu, bir web tarayıcısının kendisini tanıtmak için web sitesine gönderdiği kısa metin satırları olan örnek kullanıcı aracısı dizeleri oluşturur. Bu araç, geliştiricilerin her birini yüklemeden bir sitenin farklı tarayıcılara nasıl yanıt verdiğini test edebilmesi için masaüstü ve mobil cihazlarda Chrome, Firefox, Safari ve Edge tarafından kullanılan gerçek biçime uyan dizeler oluşturur.
Kullanıcı Aracısı Dizesi Nedir?
Bir tarayıcı her web sayfası istediğinde bir User-Agent HTTP üst bilgisi gönderir. Bu üst bilgi; tarayıcının adını, sürümünü, işletim sistemini ve görüntüleme motorunu (sayfayı çizen tarayıcı bileşenini) açıklayan tek bir metin satırıdır. Bir web sitesi, hangi sayfa düzenini veya özelliklerini göndereceğine karar vermek için bu üst bilgiyi okuyabilir.
Tipik bir kullanıcı aracısı dizesi şöyle görünür:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Neredeyse her tarayıcı dizesine "Mozilla/5.0" ile başlar. Bu, web sitelerinin bir tarayıcının sayfayı görüntüleyecek kadar yetenekli olup olmadığını belirlemek için bu sözcüğü kontrol ettiği 1990'lı yıllardan kalma bir uygulamadır. Yeni tarayıcılar, eski kontroller tarafından engellenmemek için bu belirteci korudu.
Bu oluşturucu nasıl çalışır?
Araçta üç denetim bulunur:
- Cihaz türü – Masaüstü veya Mobil.
- Tarayıcı ailesi – Chrome, Firefox, Safari veya Edge.
- İşletim sistemi – Masaüstü için Windows, macOS veya Linux; mobil için iOS veya Android.
Gerçek dünyada her kombinasyon bulunmadığından araç seçenekleri sınırlar. Apple, Safari'yi Windows, Linux veya Android için sunmadığı için Safari yalnızca macOS ve iOS'ta görünür. Chrome, Firefox ve Edge, iOS dahil listelenen tüm işletim sistemlerinde kullanılabilir; ancak iOS'ta kendi motorları yerine Apple'ın WebKit motoru üzerinde çalışan bir kabuk olarak çalışırlar.
"Generate New" düğmesine tıklamak, bu üç ayar ile rastgele seçilen bir sürüm numarasından bir dize oluşturur. "Copy" düğmesi sonucu panoya kopyalar.
Tarayıcıya Göre Kullanıcı Aracısı Dizesi Biçimi
Her tarayıcı, benzer bir şablonu kendi belirteçleriyle doldurur.
Chrome (masaüstü):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36
2Chrome (Android):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36
2Chrome (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/major.0.build.build Mobile/15E148 Safari/604.1
2Firefox (masaüstü):
1Mozilla/5.0 (platform; rv:major.0) Gecko/20100101 Firefox/major.0
2Firefox (Android):
1Mozilla/5.0 (Android version; Mobile; rv:major.0) Gecko/major.0 Firefox/major.0
2Firefox (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/major.0 Mobile/15E148 Safari/605.1.15
2Safari (macOS):
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Safari/605.1.15
2Safari (iOS):
1Mozilla/5.0 (iPhone; CPU iPhone OS major_minor like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Mobile/15E148 Safari/604.1
2Edge (masaüstü):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36 Edg/major.0.build.build
2Edge (Android):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36 EdgA/major.0.build.build
2Edge (iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor EdgiOS/major.0.build.build Mobile/15E148 Safari/605.1.15
2Apple, her iOS tarayıcısının WebKit kullanmasını zorunlu kılar; bu nedenle yukarıdaki iOS biçimleri Safari'nin AppleWebKit/605.1.15 motor belirtecini paylaşır ve tarayıcıya özgü bir işaret ekler: Chrome için CriOS/, Firefox için FxiOS/, Edge için EdgiOS/. Bunların hiçbirinde Chrome/ veya Gecko/ belirteci bulunmaz. iOS'taki Safari ve Edge ayrıca, işletim sistemiyle birlikte sunulan Safari sürümünü belirten bir Version/ belirteci gönderir; bu nedenle aynı dizedeki iOS sürümüyle her zaman eşleşir.
2021'den beri Chrome ve Edge gibi Chromium tabanlı tarayıcılar, üst bilgideki tanımlayıcı ayrıntı miktarını azaltmak için masaüstü ve Android'de sürüm numaralarının çoğunu sabitledi; Google bu değişikliğe "User-Agent Reduction" adını verir. Gerçek derleme numarası yerine bu dizelerdeki Chrome belirteci her zaman major.0.0.0 biçimindedir (örneğin 128.0.0.0) ve bu oluşturucu da aynı davranışı izler. İstisnalar, Edge'in kendi belirteci — masaüstünde Edg/, Android'de EdgA/, iOS'ta EdgiOS/ — ile iOS'ta çalışan Chrome'dur (CriOS/). Bunlar hâlâ dört parçalı tam bir derleme numarası taşır; çünkü Google'ın azaltma politikası bunlar için geçerli değildir.
Firefox aynı sabitleme yöntemini benimsemedi. Gerçek sürüm dizesi normalde yalnızca iki parçadan, major.0, oluşur ve oluşturucu da bunu üretir. Güvenlik güncellemesinden sonra 95.0.2 gibi üç parçalı bir Firefox sürümü görülebilir; ancak bu araç yalnızca iki parçalı biçimi oluşturur.
Örnek Çıktılar
Windows'ta masaüstü Chrome:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2macOS'ta masaüstü Firefox:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2macOS'ta masaüstü Safari:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
2Windows'ta masaüstü Edge:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.2903.86
2Android'de mobil Chrome:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Android'de mobil Edge:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 EdgA/128.0.2952.62
2iPhone'da mobil Safari:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
2Android'de mobil Firefox:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2iPhone'da mobil Chrome:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/128.0.6613.98 Mobile/15E148 Safari/604.1
2iPhone'da mobil Firefox:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/130.0 Mobile/15E148 Safari/605.1.15
2iPhone'da mobil Edge:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 EdgiOS/128.0.2952.62 Mobile/15E148 Safari/605.1.15
2Masaüstü ve Mobil Arasındaki Farklar
Masaüstü dizeleri işletim sistemini ve çoğu zaman işlemci mimarisini belirtir: Win64; x64, 64 bit Windows için veya Mac için Intel Mac OS X. Temsil edilecek yalnızca birkaç masaüstü platformu olduğundan oldukça düzenlidirler.
Mobil dizeler, sitenin dokunmatik kullanıma uygun bir düzen sunması gerektiğini anlaması için genellikle "Mobile" sözcüğünü ekler. iOS cihazları, iOS sürümüyle birlikte kendilerini "iPhone" olarak tanımlar; sürüm alt çizgilerle yazılır (17_4) ve sondaki sıfır yaması bırakılır; yani 17_4_0 yerine 17_4 kullanılır. Android farklıdır: Chrome'ın derleme numarasını etkileyen aynı sürüm azaltma politikası nedeniyle Android'deki Chrome ve Edge, hangi Android sürümünün veya telefon modelinin çalıştığına bakılmaksızın platformu her zaman Linux; Android 10; K olarak bildirir. "K" gerçek bir cihaz kodu değil, bir yer tutucudur ve gerçek Android sürümü gizlenir. Android için Firefox sürümü aynı şekilde sabitlemez; bunun yerine gerçek Android ana sürümünü bildirir, ancak hiçbir cihaz modeli içermez. Android Chrome dizesinde Galaxy model numarası gibi belirli bir telefon modelini gösteren bir oluşturucu, gerçek ve güncel Chrome'un çalışma biçimiyle eşleşmez.
Kullanıcı Aracısı Dizeleri Neden Kafa Karıştırıcı Görünür?
Dize, onlarca yıl boyunca eklenen uyumluluk yamaları nedeniyle dağınık görünür. 1990'lı yılların sonundaki "tarayıcı savaşları" sırasında bazı siteler daha iyi sayfaları yalnızca Netscape'e veya yalnızca Internet Explorer'a gönderiyor, bunun için üst bilgideki anahtar sözcükleri kontrol ediyordu. Rakip tarayıcılar geri çevrilmemek için kendi dizelerine aynı anahtar sözcükleri ekledi. Bu nedenle Chrome, bu adla anılan motorların hiçbirini kullanmasa da dizesinde hâlâ "Safari" ve "like Gecko" ifadelerinden söz eder. Her belirteç, yazılımın gerçek bir açıklamasından çok, eski bir uyumluluk kontrolünü karşılamak için bırakılmış bir el sıkışma bilgisidir.
Çok sayıda site hâlâ bu dizeleri ayrıştırdığı için tarayıcı üreticileri sayfaları bozmadan bu kalabalığı kolayca kaldıramaz. Uzun vadeli alternatif olan User-Agent Client Hints, tarayıcı ayrıntılarını tek bir uzun dize yerine ayrı ve yapılandırılmış üst bilgiler olarak gönderir; ancak klasik User-Agent üst bilgisi geriye dönük uyumluluk amacıyla hâlâ her yerde gönderilir.
Yaygın Kullanımlar
- Uyumluluk testi. Bir tarayıcıyı yüklemeden, belirli bir tarayıcı algılandığında sayfanın nasıl görüntülendiğini kontrol etmek.
- Duyarlı tasarım kontrolleri. Bir sitenin mobil kullanıcı aracısı aldığında mobil düzen, aksi durumda masaüstü düzen sunduğunu doğrulamak.
- Otomatik test paketleri. Tarayıcı algılama kodunun her birini doğru işlediğini kontrol etmek için çeşitli kullanıcı aracısı dizelerini test betiklerine vermek.
- API ve üst bilgi testi. Farklı istemci türleri istek gönderdiğinde sunucunun doğru davrandığını doğrulamak.
Sınırlamalar
Kullanıcı aracısı üst bilgisi, bir web sitesinin okuyabileceği birçok sinyalden yalnızca biridir. Sayfada çalışan betikler; yüklü yazı tipleri, ekran boyutu ve grafik kartının bir test görüntüsünü nasıl oluşturduğu gibi düzinelerce ayrıntıyı kontrol edebilir; bu teknik parmak izi oluşturma olarak adlandırılır. Gerçekte Firefox'ta gezinirken Chrome kullanıcı aracısı ayarlamak, bu diğer sinyalleri kontrol eden bir siteyi kandırmaz; uyumsuzluk kolayca tespit edilir. Ancak günlük geliştirme ve kalite güvence çalışmaları için doğru biçimlendirilmiş, oluşturulmuş bir dize; bir sitenin sunucu ve istemci kodunun farklı tarayıcılara ve cihazlara nasıl tepki verdiğini test etmeye yeterlidir.
Sık sorulan sorular
Kullanıcı aracısı dizesi nedir? Bir tarayıcının her web isteğiyle gönderdiği; tarayıcıyı, sürümünü, işletim sistemini ve görüntüleme motorunu belirten bir metin satırıdır. Sunucular, hangi içeriği veya düzeni döndüreceğine karar vermek için bunu kullanır.
Chrome sürümü neden her zaman .0.0.0 ile biter?
2021'den beri Chrome, parmak izi oluşturmayı azaltmak için User-Agent üst bilgisinde bildirdiği sürüm numarasının çoğunu sabitledi. Yalnızca ana sürüm numarası değişir; geri kalanı .0.0.0 olarak sabittir. Edge'in kendi belirteci ve iOS'taki tüm tarayıcılar istisnadır; bunlar hâlâ tam bir derleme numarası gösterir.
Farklı bir tarayıcı seçildiğinde iPhone dizesi neden "Safari" der?
Apple, tüm iOS tarayıcılarının kendi WebKit motorunu kullanmasını zorunlu kılar; bu nedenle iOS'taki Chrome, Firefox ve Edge WebKit'i bildirir ve Safari/ belirteciyle biter. Tarayıcı ayrı bir işaretle belirtilir: Chrome için CriOS/, Firefox için FxiOS/, Edge için EdgiOS/.
Android dizesi telefon modelimi neden göstermiyor?
Güncel Chrome ve Edge, Chrome derleme numarasını etkileyen aynı sürüm azaltma politikasının bir parçası olarak her cihaz ve gerçek Android sürümü için sabit bir platform dizesi olan Linux; Android 10; K değerini bildirir. Gerçek model ve Android sürümü dışarıya sunulmaz.
Oluşturulmuş bir kullanıcı aracısını web kazıma için kullanabilir miyim?
Üst bilgiyi değiştirmek mümkündür; ancak siteler diğer sinyaller üzerinden uyumsuzluğu tespit edebilir ve kazıma, bir sitenin hizmet şartlarını veya robots.txt kurallarını ihlal edebilir. Kazıma yapmadan önce sitenin politikalarını kontrol edin.
Oluşturulmuş bir dize, gerçek bir cihazdan alınan dizeyle aynı mıdır? Gerçek bir tarayıcıyla aynı biçimi ve belirteç sırasını izler. Chrome ve Edge'in Android'deki sürüm sabitlemesi nedeniyle, gerçek cihazlar aynı sabit değeri bildirdiğinden oluşturulmuş bir Android Chrome dizesi ile gerçek bir dize platform bölümü açısından aynı olabilir.
Client Hints nedir ve kullanıcı aracısı dizesinin yerini alır mı?
Client Hints, tarayıcı ve cihaz ayrıntılarını tek bir birleşik dize yerine ayrı HTTP üst bilgileri olarak gönderen daha yeni bir sistemdir. Tarayıcılar bunu desteklemeye başlıyor; ancak mevcut web sitelerinin çoğu hâlâ buna bağlı olduğundan klasik User-Agent üst bilgisi yaygın biçimde kullanılmaya devam ediyor.