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
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
| Token | Diễn giải |
|---|---|
| Mozilla/5.0 | Token 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.36 | Token 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.0 | Trì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.36 | Thê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ụ.