Chuyển đến nội dung chính

Phân tích chuỗi user agent

Trình phân tích user agent đọc các token trong header User-Agent và chuyển chúng thành các trường có cấu trúc. Dưới đây, ba chuỗi cố định — một trình duyệt máy tính, một điện thoại và một crawler của công cụ tìm kiếm — được đưa qua cùng trình phân tích mà công cụ tương tác sử dụng, kèm theo các quy tắc mà nó áp dụng.

Ví dụ minh họa

Chrome trên Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Trình duyệt
Chrome 120.0.0.0
Engine
Blink
Hệ điều hành
Windows 10/11
Loại thiết bị
Máy tính
Thiết bị
Không rõ
Kiến trúc CPU
x64
Bot / crawler
Không
Safari trên iPhone
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
Trình duyệt
Safari 17.0
Engine
WebKit
Hệ điều hành
iOS 17.0
Loại thiết bị
Di động
Thiết bị
Apple iPhone
Kiến trúc CPU
Không rõ
Bot / crawler
Không
Googlebot (crawler cho điện thoại thông minh)
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)
Trình duyệt
Chrome 120.0.6099.216
Engine
Blink
Hệ điều hành
Android 6.0.1
Loại thiết bị
Bot
Thiết bị
Nexus 5X Build/MMB29P
Kiến trúc CPU
Không rõ
Bot / crawler
Googlebot

Chrome trên Windows gửi Windows NT 10.0, giá trị dùng chung cho cả Windows 10 và Windows 11, nên hệ điều hành được hiển thị là 10/11. Trên iPhone, Version/17.0 cho biết phiên bản Safari và iPhone OS 17_0 cho biết phiên bản iOS. Chuỗi Googlebot nhúng trọn vẹn một user agent Chrome trên Android, nhưng chữ ký crawler được kiểm tra trước, nên loại thiết bị là bot; các trường trình duyệt và hệ điều hành vẫn hiển thị danh tính mà crawler tự khai.

Quy tắc chính

  • Chữ ký crawler được kiểm tra trước tiên: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot và facebookexternalhit. Khi khớp, loại thiết bị được đặt là bot ngay cả khi có token trình duyệt.
  • Trình duyệt được so khớp theo thứ tự cố định — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari, rồi Chromium — vì hầu hết các chuỗi cũng chứa token của trình duyệt khác. Engine đi theo trình duyệt: Blink, Gecko hoặc WebKit.
  • Hệ điều hành được lấy từ phần nền tảng trong ngoặc đơn: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X hoặc Linux. Dấu gạch dưới trong số phiên bản của Apple được chuyển thành dấu chấm.
  • Loại thiết bị là máy tính bảng với iPad, token Tablet hoặc Android không có token Mobile; di động với iPhone hoặc Android có token Mobile; và máy tính với Windows, macOS, Linux và ChromeOS.
  • Mọi thông tin mà chuỗi không nêu đều để là không rõ (null trong đầu ra JSON) thay vì phỏng đoán. Độ tin cậy chỉ cao khi cả trình duyệt lẫn hệ điều hành đều khớp.
  • Bất kỳ client nào cũng có thể gửi user agent Googlebot. Để xác nhận crawler thật của Google, hãy tra cứu DNS ngược với IP của yêu cầu, kiểm tra tên kết thúc bằng googlebot.com hoặc google.com, rồi xác nhận lại bằng tra cứu DNS xuôi.

Các hướng dẫn user agent khác