User agent là một phần của thông điệp HTTP header được gửi từ trình duyệt hoặc ứng dụng đến máy chủ web để cung cấp thông tin về trình duyệt, hệ điều hành và thiết bị của người dùng. Thông tin này thường được sử dụng để máy chủ web có thể đưa ra trải nghiệm tốt nhất dựa trên khả năng và đặc tính của trình duyệt.
Ban đầu, user agent chỉ là một dòng văn bản đơn giản để xác định trình duyệt. Tuy nhiên, với sự phát triển của web và nhu cầu tăng cường tính tương thích, các thông tin khác như hệ điều hành, phiên bản trình duyệt, và engine render cũng được thêm vào user agent. Điều này giúp các trang web cung cấp nội dung tốt nhất cho từng loại trình duyệt và thiết bị.
Về cơ bản, tác nhân người dùng không chứa bất kỳ thông tin nhận dạng cá nhân nào. Tuy nhiên, một số điện thoại di động (điện thoại nắp gập) có thể có số sê-ri, v.v.Mặc dù nó không chứa thông tin cá nhân nhưng gần đây đã có động thái hướng tới việc loại bỏ tác nhân người dùng để bảo vệ quyền riêng tư của người dùng.
1. Cấu trúc của User Agent:
User agent thường có định dạng như một chuỗi ký tự, thường xuất hiện trong header HTTP của mỗi yêu cầu web.
Ví dụ: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36
2. Thành Phần Cơ Bản trong User Agent
3. Chức năng của User Agent:
4. Các Loại User Agent:
5. Chú ý Quan Trọng:
User agent có thể được giả mạo hoặc thay đổi để tránh các hạn chế hoặc để thu thập dữ liệu một cách không rõ ràng.
Các trình duyệt hiện đại có thể cung cấp cách tắt user agent hoặc thay đổi nó trong cài đặt để bảo vệ quyền riêng tư.
Phân tích user agent là một phần quan trọng của việc quản lý và tối ưu hóa trải nghiệm người dùng trên web.
Phân tích thông tin trong user agent thường bao gồm việc xác định các thành phần chính như trình duyệt, hệ điều hành, và các thông tin khác. Dưới đây là một phân tích chi tiết của user agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko):
Mozilla/5.0: Đây là một chuỗi phân biệt tiêu chuẩn, thường được thêm vào để tương thích với các trình duyệt web. Đối với một số trình duyệt, "Mozilla" vẫn được giữ lại từ quá khứ khi Netscape Navigator (trình duyệt web ban đầu) sử dụng nó trong user agent của mình.
(Macintosh; Intel Mac OS X 10_15_4): Cung cấp thông tin về hệ điều hành và phiên bản của nó. Trong trường này:
AppleWebKit/605.1.15: Chứa thông tin về trình duyệt engine (layout engine). Trong trường này, trình duyệt sử dụng WebKit engine với phiên bản 605.1.15. WebKit là một engine chủ yếu được sử dụng bởi trình duyệt Safari.
(KHTML, like Gecko): Thêm vào để tăng khả năng tương thích. KHTML là một engine render được sử dụng bởi trình duyệt Konqueror, trong khi Gecko là engine render của Mozilla (Firefox). Các thông tin này chỉ mang tính chất mô phỏng và không phản ánh một sự thực tế.
Tóm lại, user agent này cho thấy người dùng đang sử dụng máy tính Macintosh với chip Intel, chạy trên macOS 10.15.4, và truy cập trang web bằng trình duyệt sử dụng engine WebKit (có thể là Safari). Thông tin "KHTML, like Gecko" chỉ làm tăng tính tương thích và không thể được coi là thực sự sử dụng engine đó.
Dưới đây là một số user agents phổ biến của các bot và crawler:
Googlebot (Google):
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Bingbot (Bing):
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Yahoo Slurp (Yahoo):
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
YandexBot (Yandex):
Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
Baiduspider (Baidu):
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
DuckDuckGoBot (DuckDuckGo):
DuckDuckBot/1.0; (+http://duckduckgo.com/duckduckbot.html)
Facebook Crawler (Facebook):
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
Twitterbot (Twitter):
Twitterbot/1.0
Lưu ý rằng user agents của bot và crawler có thể thay đổi và được cập nhật theo thời gian để tránh việc phát hiện và chặn. Nếu bạn quan trọng về việc nhận diện các hoạt động của bot trên trang web của mình, nên kiểm tra và cập nhật danh sách user agents định kỳ.
Các loại User Agent thông dụng:
User Agents của Trình Duyệt:
User Agents của Thiết Bị Di Động:
User Agents của Bot và Crawler:
User Agents Đặc Biệt:
Mỗi loại user agent chứa thông tin khác nhau về trình duyệt, hệ điều hành, và các yếu tố khác, giúp máy chủ web cung cấp nội dung phù hợp với đặc tính của từng người dùng hoặc ứng dụng.
Google ChromeブラウザのUAの例
OS | user agent |
Windows(PC) | User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 |
mac(PC) | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 |
iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 14_8 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/94.0.4606.52 Mobile/15E148 Safari/604.1 |
Android | Mozilla/5.0 (Linux; Android 11; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.210 Mobile Safari/537.36 |
FirefoxブラウザのUAの例
OS | user agent |
Windows(PC) | Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0 |
mac(PC) | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0 |
iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/40.0 Mobile/12F69 Safari/600.1.4 |
Android | Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0 |
SafariブラウザのUAの例
version | user agent |
Windows(PC) | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27 |
mac(PC) | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 |
iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1 |
Android | なし |
Điện
Điều khiển
HVAC
Cơ điện (MEP)
Nước
Phòng cháy chữa cháy