HTTPQUERY
Bahasa Indonesia

User-Agent

Penggunaan

Klien menyertakan User-Agent pada setiap request untuk mengidentifikasi aplikasi, sistem operasi, dan mesin rendering kepada server. Server menggunakan informasi ini untuk negosiasi konten, analitik, dan penyesuaian kompatibilitas.

Nilainya mengikuti format terstruktur berupa token produk. Setiap token terdiri atas nama produk dan versi opsional, diikuti komentar opsional di dalam tanda kurung. Beberapa token ditampilkan dipisahkan oleh spasi.

User-Agent: <product>/<version> (<comment>) <product>/<version>

Dalam praktiknya, string User-Agent browser telah menjadi panjang dan rumit akibat pola kompatibilitas historis. Sebagian besar browser menyertakan Mozilla/5.0 sebagai token pertama karena alasan warisan, diikuti detail platform di dalam komentar, lalu token mesin dan browser.

Server yang menyajikan konten berbeda berdasarkan nilai User-Agent menerapkan salah satu bentuk negosiasi konten. Crawler mesin pencari mengidentifikasi dirinya melalui header ini, sehingga server dapat menerapkan logika khusus crawler. Sistem deteksi bot menganalisis pola User-Agent untuk membedakan lalu lintas otomatis dari pengunjung manusia.

Keluarga header Sec-CH-UA menyediakan alternatif terstruktur bagi string User-Agent. User-Agent Client Hints menyampaikan informasi yang sama dalam format terurai dengan entropi rendah. Browser mengirimkan sekumpulan hint minimal secara bawaan, dan server meminta detail tambahan melalui header response Accept-CH. Hal ini mengurangi permukaan fingerprinting pasif dibandingkan string User-Agent lengkap.

product

Pengenal produk untuk perangkat lunak klien. Menurut konvensi, produk yang paling signifikan dicantumkan lebih dulu.

version

String versi yang terkait dengan token produk sebelumnya, dipisahkan oleh garis miring.

comment

Detail tambahan di dalam tanda kurung, biasanya menjelaskan sistem operasi, perangkat, atau platform. Komentar muncul setelah pasangan product/version.

Contoh

Browser desktop mengirimkan string User-Agent yang memuat platform, mesin rendering, dan versi browser. Awalan Mozilla/5.0 adalah peninggalan historis yang hadir di semua browser modern.

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.0.0.0 Safari/537.36

Browser mobile menyertakan informasi perangkat dan platform mobile di bagian komentar.

User-Agent: Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.0.0.0 Mobile Safari/537.36

Pengurangan UA pada Chrome membekukan komponen minor, build, dan patch menjadi 0.0.0. Versi mayor bertambah pada setiap rilis.

Crawler mesin pencari menggunakan nilai User-Agent yang khas untuk identifikasi. Bagian komentar sering memuat URL yang mengarah ke dokumentasi tentang crawler tersebut.

User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Bingbot menggunakan string UA berbasis Chromium yang selalu mengikuti versi terbaru. Komponen versi W.X.Y.Z diperbarui secara otomatis agar sesuai dengan rilis Chrome saat ini.

Desktop:

User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/W.X.Y.Z Safari/537.36

Mobile:

User-Agent: Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

Perkakas baris perintah dan pustaka HTTP mengirimkan nilai yang lebih pendek dan sederhana.

User-Agent: curl/8.4.0

Klien API dan bot buatan sendiri menyertakan nama produk yang deskriptif, versi, dan URL kontak:

User-Agent: MyBot/1.0 (+https://example.re/bot)

Privasi

String User-Agent merupakan vektor fingerprinting browser yang signifikan. Kombinasi detail browser, versi, OS, dan platform menciptakan pengenal yang nyaris unik, yang dimanfaatkan skrip pelacak tanpa cookie maupun persetujuan eksplisit.

Inisiatif pengurangan User-Agent dari Chrome membekukan sebagian string tersebut dan memindahkan informasi terperinci ke Client Hints Sec-CH-UA, yang menuntut server ikut serta secara eksplisit melalui Accept-CH. Hal ini menggeser data klien terperinci dari paparan pasif menjadi negosiasi aktif.

Server sebaiknya tidak mengandalkan User-Agent untuk keputusan keamanan seperti autentikasi atau kontrol akses. Klien mengendalikan nilainya dan dapat memalsukan string tersebut dengan sangat mudah.