User-Agent (เรียกสั้นๆ ว่า UA) เป็นฟิลด์ในส่วนหัวคำขอ HTTP ที่เบราว์เซอร์ (หรือครอว์เลอร์ ไคลเอ็นต์ HTTP อื่นๆ) จะนำสตริงนี้ไปทุกครั้งที่ส่งคำขอ เพื่อบอกเซิร์ฟเวอร์ว่า「ฉันคือใคร」— ซึ่งมีข้อมูลเช่น ชื่อและเวอร์ชันเบราว์เซอร์ ระบบปฏิบัติการและเวอร์ชัน เอนจินเรนเดอร์ ประเภทอุปกรณ์ สถาปัตยกรรม CPU ฯลฯ เซิร์ฟเวอร์สามารถส่งคืนเนื้อหาที่ปรับให้เข้ากับอุปกรณ์ต่างๆ ตาม UA นักพัฒนายังใช้ UA สำหรับการจัดการความเข้ากันได้ การสถิติทราฟฟิก และการระบุครอว์เลอร์เป็นประจำ
สตริง UA ดูยาวและยุ่งเหยิงด้วยเหตุผลทางประวัติศาสตร์: ยุคสงครามเบราว์เซอร์ เบราว์เซอร์ใหม่จะอ้างว่าตัวเองเป็นเบราว์เซอร์เก่าใน UA เพื่อให้เว็บไซต์ที่อาศัยการดมกลิ่นเบราว์เซอร์เก่าทำงานได้ปกติ (เช่น Chrome จะมีเครื่องหมาย Safari, Safari จะมีเครื่องหมาย Gecko) การซ้อนทับกันชั้นๆ ทำให้สตริง UA สมัยใหม่มีเครื่องหมายทางประวัติศาสตร์จำนวนมาก ทำให้ยากต่อการอ่านโดยตรง หน้าที่ของตัวแยกวิเคราะห์ UA คือการแยกสตริงที่ซับซ้อนเหล่านี้และดึงข้อมูลที่เป็นประโยชน์ออกมา
เบราว์เซอร์หลักมีรูปแบบและคำสำคัญคงที่: Chrome มี Chrome/เวอร์ชัน, Firefox มี Firefox/เวอร์ชัน, Safari มี Version/เวอร์ชันและเครื่องหมาย Safari/, Edge รุ่นใหม่ใช้เครื่องหมาย Edg/, เบราว์เซอร์ในตัว WeChat ใช้เครื่องหมาย MicroMessenger/ ระบบปฏิบัติการก็มีเครื่องหมายที่เกี่ยวข้อง: Windows ใช้ Windows NT+เวอร์ชัน, macOS ใช้ Mac OS X+เวอร์ชัน, iOS ใช้ CPU iPhone OS+เวอร์ชัน, Android ใช้ Android+เวอร์ชันโดยตรง การจับคู่คำสำคัญเหล่านี้ผ่าน regex สามารถระบุได้อย่างถูกต้อง
เอนจินเรนเดอร์เป็นแกนหลักของเบราว์เซอร์ที่ใช้แยกวิเคราะห์ HTML/CSS/เรนเดอร์หน้าเว็บ: เบราว์เซอร์ในตระกูล Chromium (Chrome, Edge, Opera ฯลฯ) ใช้เอนจิน Blink, Safari ใช้ WebKit, Firefox ใช้ Gecko, IE เก่าใช้ Trident การทราบเอนจินเรนเดอร์สามารถช่วยตัดสินปัญหาความเข้ากันได้ CSS/JS — ภายใต้เอนจิน Blink เดียวกัน การแสดงผลของ Chrome และ Edge สอดคล้องกันสูง
การตรวจจับครอว์เลอร์เป็นหนึ่งในวัตถุประสงค์สำคัญของการแยกวิเคราะห์ UA ครอว์เลอร์เครื่องมือค้นหา (Googlebot, Bingbot, Baiduspider) ครอว์เลอร์เครื่องมือ SEO โปรแกรมครอว์อันตราย เครื่องมือบรรทัดคำสั่ง (curl, wget) ไลบรารีสคริปต์ (Python requests) จะนำเครื่องหมายของตนเองใน UA หรือใช้สตริง UA ที่เรียบง่ายมาก การจับคู่คำสำคัญเช่น bot, crawler, spider, curl สามารถระบุทราฟฟิกที่ไม่ใช่มนุษย์ได้เร็ว
การระบุประเภทอุปกรณ์อาศัยเครื่องหมายมือถือเป็นหลัก: ที่มีคำสำคัญเช่น Mobile, iPhone, Android คือมือถือ; ที่มี iPad, Tablet, Kindle คือแท็บเล็ต; ส่วนที่เหลือคือคอมพิวเตอร์เดสก์ท็อป แต่ควรทราบว่า UA สามารถปลอมแปลงได้ (User-Agent Spoofing) ครอว์เลอร์อันตรายสามารถปลอมตัวเป็นเบราว์เซอร์ปกติได้ ดังนั้นการต่อต้านครอว์เลอร์ที่เข้มงวดยังต้องรวมคุณสมบัติอื่นๆ การแยกวิเคราะห์ UA สามารถใช้เป็นการตัดสินเบื้องต้นเท่านั้น
ข้อมูลสถาปัตยกรรม CPU มีความสำคัญมากขึ้นในปัจจุบัน: Mac ซีรีส์ M ของ Apple ใช้สถาปัตยกรรม ARM64, Mac Intel แบบดั้งเดิมใช้ x64; PC Windows มีทั้ง x64 และ ARM64 (เช่น แล็ปท็อป Snapdragon); มือถือทั้งหมดเป็น ARM64 เมื่อให้ดาวน์โหลดซอฟต์แวร์ หากสามารถตัดสินสถาปัตยกรรมผู้ใช้จาก UA และให้แพ็คเกจติดตั้งที่เกี่ยวข้องโดยตรง (เช่น .dmg แยกเวอร์ชัน Intel/Mac, .exe แยกเวอร์ชัน x64/ARM64) จะปรับปรุงประสบการณ์ผู้ใช้อย่างมาก
ควรทราบว่าการแยกวิเคราะห์ UA มีข้อจำกัด: UA สามารถแก้ไขปลอมแปลงโดยผู้ใช้หรือปลั๊กอิน เบราว์เซอร์รุ่นใหม่อาจเปลี่ยนรูปแบบ UA ทำให้ regex ใช้ไม่ได้ Windows 11 ไม่สามารถแยกแยะ Win10/Win11 จาก UA ได้เพราะยังคงใช้เลขเวอร์ชัน NT 10.0 เบราว์เซอร์บุคคลที่สามทั้งหมดบน iOS (Chrome, Firefox for iOS) ถูกบังคับให้ใช้เอนจิน WebKit ดังนั้น UA จะมีเครื่องหมาย Safari การแยกวิเคราะห์ของเครื่องมือนี้เหมาะสำหรับสถานการณ์ส่วนใหญ่เช่น ดีบั๊กพัฒนา การวิเคราะห์ล็อก แต่สำหรับสถานการณ์ที่ต้องการความปลอดภัยสูงมาก โปรดรวม IP, ลายนิ้วมือ TLS และการตัดสินหลายมิติอื่นๆ