Trình phân tích tác nhân người dùng
Trình phân tích tác nhân người dùng là công cụ miễn phí giúp đọc chuỗi tác nhân người dùng và xác định trình duyệt, hệ điều hành cùng loại thiết bị.
Chuỗi tác nhân người dùng cho biết điều gì?
Chuỗi tác nhân người dùng là giá trị của trường HTTP User-Agent. Với trình duyệt web, chuỗi này thường chứa tên sản phẩm, số phiên bản, mã nhận diện hệ điều hành và thông tin gợi ý về thiết bị. Các ứng dụng dòng lệnh, trình thu thập dữ liệu, trình đọc nguồn cấp và trình duyệt tích hợp trong ứng dụng cũng có thể gửi chuỗi tác nhân người dùng.
Định dạng này không có cấu trúc rõ ràng như vẻ ngoài ban đầu. Trình duyệt thường đưa vào các mã tương thích gắn với trình duyệt khác, vì vậy việc chọn tên sản phẩm dễ nhận thấy đầu tiên có thể dẫn đến kết quả sai. Chẳng hạn, các trình duyệt dựa trên Chromium thường chứa cả mã liên quan đến Chrome lẫn Safari. Trình phân tích sẽ xem xét tổ hợp và thứ tự của các mã thay vì coi giá trị này là một danh sách đơn giản.
Dữ liệu tác nhân người dùng cũng do chính ứng dụng khách khai báo. Ứng dụng khách có thể thay đổi hoặc giả mạo dữ liệu, còn một số trình duyệt hạn chế lượng thông tin về phiên bản và thiết bị được cung cấp. Vì thế, kết quả phân tích hữu ích cho việc phân loại và gỡ lỗi, nhưng không phải bằng chứng xác thực danh tính của thiết bị.
Cách dùng trình phân tích tác nhân người dùng
Dán toàn bộ giá trị tiêu đề vào trường Tác nhân người dùng rồi chạy công cụ. Kết quả gồm ba trường: Trình duyệt, Hệ điều hành và Loại thiết bị.
- Sao chép giá trị đứng sau User-Agent từ yêu cầu HTTP, nhật ký truy cập hoặc công cụ dành cho nhà phát triển của trình duyệt.
- Giữ nguyên dấu cách, dấu ngoặc, dấu chấm phẩy, dấu gạch chéo và số phiên bản. Chúng dùng để phân tách sản phẩm và phần chú thích trong chuỗi.
- Gửi giá trị, sau đó đối chiếu kết quả phân loại với ngữ cảnh của yêu cầu.
- Trong ghi chú gỡ lỗi của bạn, hãy lưu chuỗi gốc cùng kết quả phân tích. Nếu chỉ giữ kết quả phân loại, bạn có thể bỏ lỡ các mã phiên bản hoặc mã tương thích hữu ích.
Trình phân tích chạy trên máy chủ. Chuỗi tác nhân người dùng được gửi đến máy chủ qua HTTPS và không được lưu trữ. Dù vậy, trước khi gửi, hãy kiểm tra dữ liệu nhật ký đã sao chép để loại bỏ các tham số truy vấn, mã nhận diện phiên hoặc tên máy chủ nội bộ không liên quan.
Nên đọc kết quả phân tích như thế nào?
Hãy coi mỗi trường là kết quả phân loại được suy ra từ các mã do ứng dụng khách cung cấp, không phải thông tin phần cứng hoặc phần mềm đã được xác minh độc lập.
- Trình duyệt cho biết dòng trình duyệt hoặc ứng dụng khách được nhận diện từ chuỗi. Các chế độ xem web tích hợp và trình duyệt phát triển từ Chromium có thể khó phân biệt hơn vì dùng chung nhiều mã.
- Hệ điều hành cho biết nền tảng được biểu thị qua các dấu hiệu như Windows NT, Android, iPhone OS, Mac OS X hoặc Linux. Lớp tương thích và tác nhân người dùng đã chỉnh sửa có thể khiến kết quả kém cụ thể hơn.
- Loại thiết bị xếp ứng dụng khách vào một nhóm kiểu dáng thiết bị tổng quát, được suy ra từ các dấu hiệu về thiết bị và nền tảng. Hãy xem đây là một nhóm phân loại thực tế, không phải model phần cứng chính xác.
Các trường kết quả được mô tả không tạo thành báo cáo kiểm tra cú pháp. Một tác nhân người dùng sai định dạng, bị rút gọn hoặc không quen thuộc có thể không cung cấp đủ thông tin để phân loại hữu ích. Tuy nhiên, không có danh sách lỗi chung giống như các lỗi JSON, chẳng hạn dấu phẩy thừa hoặc khóa không đặt trong dấu ngoặc kép. Việc phân tích tác nhân người dùng chủ yếu dựa trên suy đoán vì chuỗi thực tế khác nhau giữa các ứng dụng khách và thường giữ lại cú pháp tương thích cũ.
Giá trị trống không chứa thông tin để phân loại. Giá trị rất dài có thể gồm phần mở rộng, mã nhận diện ứng dụng hoặc các mã sản phẩm bị lặp, còn các con số thường chỉ có ý nghĩa khi đi cùng mã sản phẩm mà chúng mô tả. Ký tự có dấu hoặc ký tự không thuộc bảng chữ cái Latinh có thể xuất hiện trong chuỗi tùy chỉnh của ứng dụng khách, nhưng chúng không tự động xác định trình duyệt, hệ điều hành hay thiết bị.
Ví dụ thực tế
Đầu vào Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Trình phân tích thường sẽ xác định đây là Chrome trên Windows, chạy trên thiết bị máy tính để bàn. Mã Safari xuất hiện vì mục đích tương thích và nếu chỉ xét riêng mã này thì không nên kết luận trình duyệt là Safari.
Đầu vào Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
Chuỗi này cho biết Safari trên iOS và một thiết bị di động. Cụm từ "like Mac OS X" là một phần của thông tin tương thích. Các dấu hiệu iPhone và Mobile cung cấp căn cứ rõ hơn để xác định thiết bị.
Nếu tác nhân người dùng được lấy từ một tham số truy vấn URL, dữ liệu có thể đã được mã hóa phần trăm. Hãy dùng Trình phân tích URL để tách và giải mã tham số trước khi phân tích giá trị tác nhân người dùng thu được.
Khi nào nên và không nên phân tích tác nhân người dùng?
Việc phân tích hữu ích khi bạn cần hiểu một yêu cầu lạ hoặc muốn kiểm tra logic phân loại trước khi triển khai. Các trường hợp thường gặp gồm kiểm tra một mục trong nhật ký truy cập Apache hoặc nginx, điều tra báo cáo về lỗi hiển thị riêng trên một trình duyệt, kiểm tra lưu lượng từ ứng dụng tích hợp hoặc đọc dữ liệu thô được xuất từ nền tảng phân tích.
Thông thường, bạn không cần phân tích nếu hệ thống khác đã cung cấp trình duyệt, hệ điều hành và thiết bị dưới dạng các trường có cấu trúc. Việc này cũng không đem lại nhiều lợi ích nếu dịch vụ của bạn chỉ cần chuyển tiếp hoặc lưu trữ tiêu đề gốc. Không nên dùng kết quả làm căn cứ duy nhất cho việc xác thực, phát hiện gian lận hoặc kiểm soát quyền truy cập vì bên gửi có thể giả mạo chuỗi.
Với bố cục thích ứng, truy vấn phương tiện CSS và tính năng phát hiện khả năng hỗ trợ thường đáng tin cậy hơn việc máy chủ phỏng đoán loại thiết bị. Chỉ nên phân tích tác nhân người dùng khi cần ngữ cảnh để chẩn đoán hoặc lập báo cáo, thay vì dùng nó để mặc định rằng một tính năng cụ thể của trình duyệt được hỗ trợ.
Câu hỏi thường gặp
Trình phân tích có nhận biết yêu cầu do bot gửi không?
Các trường kết quả không có mục riêng để phân loại bot. Một số trình thu thập dữ liệu tự nhận diện rõ ràng trong tác nhân người dùng, nhưng số khác giả làm trình duyệt hoặc bỏ qua thông tin hữu ích. Khi phù hợp, hãy xác minh lưu lượng tự động dựa trên tần suất yêu cầu, các phương thức kiểm tra IP trình thu thập dữ liệu đã công bố và hành vi gửi yêu cầu.
Tại sao tác nhân người dùng của Edge lại chứa Chrome và Safari?
Edge hiện đại dựa trên Chromium và chứa các mã tương thích cần thiết cho những trang web kiểm tra tác nhân người dùng. Trình phân tích phải tìm mã Edge cụ thể hơn trước khi coi yêu cầu là Chrome hoặc Safari thông thường. Thứ tự và mức độ cụ thể của mã đều quan trọng.
Có thể dùng loại thiết bị để chuyển hướng người dùng di động không?
Bạn có thể dùng kết quả này làm thông tin tham khảo, nhưng chuyển hướng bắt buộc có thể phân loại sai máy tính bảng, trình duyệt ở chế độ máy tính để bàn và tác nhân người dùng đã bị chỉnh sửa. Hãy ưu tiên trang có thiết kế thích ứng. Nếu bắt buộc phải có trải nghiệm di động riêng, hãy cho phép người dùng tự chọn phiên bản khác.
Client Hints của trình duyệt có thay thế việc phân tích tác nhân người dùng không?
Client Hints có thể cung cấp thông tin có cấu trúc về trình duyệt và nền tảng khi cả trình duyệt lẫn máy chủ đều hỗ trợ, nhưng không có trong mọi yêu cầu hoặc trên mọi ứng dụng khách. Các hệ thống xử lý trình duyệt cũ, trình thu thập dữ liệu và nhật ký truy cập hiện có vẫn có thể cần phân tích tác nhân người dùng. Chỉ lưu những thông tin phân loại tác nhân người dùng cần thiết cho công việc và tuân thủ các nghĩa vụ hiện hành về quyền riêng tư.
Công cụ phổ biến
Dễ dàng tạo chữ ký tùy chỉnh của riêng bạn và tải xuống nó một cách dễ dàng.
Lấy kích thước của một văn bản theo Byte (B), Kilobyte (KB) hoặc Megabyte (MB).
Sử dụng công cụ ping của chúng tôi để kiểm tra nhanh chóng và hiệu quả trạng thái cùng thời gian phản hồi của bất kỳ trang web, máy chủ hoặc cổng nào.
Công cụ tra cứu IP của Digily Link cung cấp thông tin chi tiết về mọi địa chỉ IP. Hãy dùng dịch vụ trực tuyến miễn phí này để nhận dữ liệu IP toàn diện.
Tạo ngay liên kết WhatsApp miễn phí bằng Trình tạo liên kết WhatsApp của chúng tôi. Thêm tin nhắn tùy chỉnh và bắt đầu trò chuyện chỉ với một lần nhấp, không cần đăng nhập hay viết mã.