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

User agent của tôi là gì?

User agent của bạn là đoạn văn bản trình duyệt gửi trong header User-Agent của mọi yêu cầu HTTP, và script có thể đọc nó qua navigator.userAgent. Công cụ phân tích tự động điền chuỗi của chính trình duyệt bạn khi trang tải; hướng dẫn này dùng một chuỗi Chrome trên macOS cố định để phần phân tích giống nhau với mọi người đọc.

Ví dụ minh họa

Chrome trên macOS
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) 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
macOS 10.15.7
Loại thiết bị
Máy tính
Thiết bị
Không rõ
Kiến trúc CPU
Không rõ
Bot / crawler
Không

Phân tích token

TokenDiễn giải
Mozilla/5.0Token tương thích mang tính lịch sử. Gần như mọi trình duyệt đều bắt đầu bằng nó; nó không có nghĩa trình duyệt là Firefox.
(Macintosh; Intel Mac OS X 10_15_7)Phần chú thích nền tảng. Chrome và Safari đóng băng phiên bản macOS ở 10_15_7, nên các bản macOS mới hơn và máy Mac dùng Apple silicon đều gửi cùng giá trị này.
AppleWebKit/537.36Token engine. Engine Blink của Chrome khởi đầu là một nhánh (fork) của WebKit và vẫn báo giá trị cố định này.
(KHTML, like Gecko)Chú thích tương thích: WebKit bắt nguồn từ KHTML, còn “like Gecko” được thêm vào cho những trang web chỉ phục vụ trang hiện đại cho trình duyệt Gecko.
Chrome/120.0.0.0Trình duyệt thực sự và phiên bản của nó. Chỉ phiên bản chính (120) là có ý nghĩa; Chrome gửi 0.0.0 cho phần minor, build và patch.
Safari/537.36Thêm một token tương thích nữa, để các trang web tìm Safari coi Chrome là trình duyệt thuộc họ WebKit. Nó không có nghĩa trình duyệt là Safari.

Trình phân tích nhận diện Chrome 120 trên macOS 10.15.7 với engine Blink. Cả phiên bản macOS lẫn đuôi 0.0.0 đều là giá trị bị đóng băng, nên hệ thống thực có thể mới hơn những gì chuỗi cho biết. Kiến trúc CPU vẫn không rõ: trình phân tích không coi Intel là gợi ý về CPU, và máy Mac dùng Apple silicon cũng gửi đúng văn bản đó.

Quy tắc chính

  • Chuỗi user agent là danh sách các token sản phẩm/phiên bản phân tách bằng dấu cách, với chi tiết nền tảng nằm trong ngoặc đơn.
  • Phần lớn token tồn tại để đảm bảo tương thích: các trình duyệt sao chép token của nhau để mã phát hiện cũ vẫn hoạt động, vì vậy trình phân tích phải xem token nào xuất hiện và theo thứ tự nào, chứ không dựa vào từng từ riêng lẻ.
  • Công cụ phân tích tự điền user agent của chính bạn từ trình duyệt khi trang tải. Bản thân việc phân tích chạy trong trình duyệt của bạn, không phải trên máy chủ.
  • Tiện ích mở rộng trình duyệt, cài đặt quyền riêng tư, chế độ giả lập thiết bị trong công cụ dành cho nhà phát triển và trình duyệt trong ứng dụng có thể thay đổi user agent, nên nó có thể không mô tả đúng thiết bị thực.
  • Để so sánh các trình duyệt, hãy dán chuỗi từ thiết bị khác hoặc chọn một preset mẫu trong công cụ.

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