Trong thế giới số ngày nay, mọi hành động trực tuyến từ việc bạn mở một website, xem video trên điện thoại cho đến Googlebot crawl dữ liệu đều để lại “dấu vết” nhận diện gọi là User Agent. Đây là một khái niệm quan trọng nhưng thường ít được người dùng phổ thông để ý, trong khi với các chuyên gia SEO, marketing và phát triển web, User Agent lại đóng vai trò giúp hiểu rõ cách website giao tiếp với trình duyệt, thiết bị và cả các công cụ tìm kiếm.
Cùng SEO HOT tìm hiểu tất cả các kiến thức về User Agent trong bài viết này nhé.
1. User-Agent là gì?
User-agent (tác nhân người dùng) là một chuỗi văn bản, số và ký hiệu xác định chi tiết về máy khách đang truy cập máy chủ. Máy khách có thể là trình duyệt, bot thu thập thông tin, bot thu thập dữ liệu, ứng dụng email, download manager hoặc ứng dụng web.
Mặt khác, máy chủ lưu trữ các tài nguyên mà máy khách muốn truy cập. Ví dụ: máy chủ web chứa các tệp HTML, CSS và JavaScript, hình ảnh và các nội dung đa phương tiện khác tạo nên một website.
Khi máy khách truy cập máy chủ, nó sẽ gửi tiêu đề yêu cầu HTTP chứa chuỗi user-agent. Thông tin cụ thể trong chuỗi user-agent sẽ khác nhau tùy theo máy khách, nhưng thường bao gồm:
- Tên ứng dụng của khách hàng
- Phiên bản ứng dụng
- Hệ điều hành và phiên bản của nó
- Loại thiết bị (như điện thoại di động hoặc máy tính để bàn)
Ví dụ, đây là chuỗi tác nhân người dùng của trình duyệt:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36
Đây là chuỗi tác nhân người dùng trông như thế nào trong tiêu đề yêu cầu HTTP mà trình duyệt gửi đến máy chủ web:
GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
2. Cấu trúc của một User Agent
Mỗi chuỗi User Agent được tạo thành từ nhiều thành phần, thường bao gồm: thông tin về trình duyệt, hệ điều hành, engine hiển thị, thiết bị và đôi khi cả loại bot. Mặc dù cấu trúc có thể khác nhau giữa các trình duyệt hoặc bot, nhưng nhìn chung chúng đều tuân theo một logic chung:
Thành phần | Mô tả | Ví dụ |
---|---|---|
Tên & phiên bản trình duyệt | Giúp server biết người dùng đang sử dụng trình duyệt nào, phiên bản bao nhiêu. | Chrome/118.0.0.0 , Firefox/117.0 |
Engine hiển thị (rendering engine) | Thư viện hoặc “bộ máy” mà trình duyệt dùng để hiển thị nội dung web. | AppleWebKit/537.36 , Gecko/20100101 |
Hệ điều hành (OS) | Thông tin nền tảng hệ điều hành và kiến trúc phần cứng. | Windows NT 10.0; Win64; x64 , Android 13 |
Thiết bị | Loại thiết bị truy cập: máy tính, điện thoại, tablet, smart TV… | Mobile , Tablet , iPhone , Pixel 7 |
Thông tin tương thích | Một số User Agent thêm “Mozilla/5.0” hoặc “like Gecko” để đảm bảo tương thích với chuẩn cũ. | Mozilla/5.0 (compatible; …) |
Bot/Crawler identifier | Nếu là bot, User Agent sẽ chứa thông tin định danh bot đó. | Googlebot/2.1 (+http://www.google.com/bot.html) |
Ví dụ: User Agent của Chrome trên Windows 10 (Desktop):
Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/118.0.0.0 Safari/537.36
Chú thích:
- Mozilla/5.0 → Tương thích chuẩn Mozilla.
- Windows NT 10.0; Win64; x64 → Hệ điều hành Windows 10, bản 64-bit.
- AppleWebKit/537.36 (KHTML, like Gecko) → Engine hiển thị WebKit, hoạt động giống Gecko.
- Chrome/118.0.0.0 → Trình duyệt Chrome, phiên bản 118.
- Safari/537.36 → Tương thích Safari.
User Agent của Googlebot:
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
- Mozilla/5.0 → Chuẩn nhận diện.
- compatible → Chỉ ra rằng User Agent tương thích chuẩn.
- Googlebot/2.1 → Bot của Google, phiên bản 2.1.
- http://www.google.com/bot.html → Đường dẫn xác minh bot.
User Agent giống như một thông tin thu gọn mà mỗi request gửi đến server. Việc hiểu rõ cấu trúc giúp SEOer, marketer và developer phân biệt đâu là người dùng thật, đâu là bot và tối ưu website phù hợp với từng trường hợp.
3. Các loại User Agent phổ biến
Mỗi thiết bị, trình duyệt hay bot đều có User Agent riêng biệt. Hiểu rõ các loại User Agent phổ biến giúp bạn phân biệt được ai đang truy cập website người dùng thật hay bot tìm kiếm.
Có 4 nhóm User Agent phổ biến, bao gồm:
- Trình duyệt (Browser).
- Thiết bị (Device).
- Bot tìm kiếm (Search Engine Crawlers).
- Bot mạng xã hội / ứng dụng.
Nắm rõ đặc điểm từng loại User Agent giúp bạn quản lý website tốt hơn, đồng thời tối ưu SEO và trải nghiệm người dùng hiệu quả.
User Agent của trình duyệt (Browser User Agent)
Đây là loại User Agent phổ biến nhất, xuất hiện khi người dùng truy cập website từ Chrome, Firefox, Safari, Edge, Opera…
Ví dụ: Chrome trên Windows 10 (desktop):
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36
Ví dụ: Safari trên iPhone (iOS 17):
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
User Agent của thiết bị (Device User Agent)
User Agent cũng thể hiện rõ loại thiết bị (desktop, mobile, tablet). Điều này giúp website hiển thị phiên bản giao diện phù hợp (responsive).
Ví dụ: Android (Google Pixel 7):
Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/118.0.0.0 Mobile Safari/537.36
User Agent của công cụ tìm kiếm (Search Engine Bots)
Đây là loại đặc biệt quan trọng trong SEO, vì nó cho biết bot nào đang crawl website.
Ví dụ: Googlebot (crawler chính của Google):
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Ví dụ – Bingbot (Microsoft Bing):
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Ngoài ra còn có các bot khác như:
- DuckDuckBot (DuckDuckGo).
- Baiduspider (Baidu – TQ).
- YandexBot (Yandex – Nga).
User Agent của mạng xã hội và ứng dụng
Các nền tảng xã hội cũng có bot riêng để thu thập dữ liệu khi chia sẻ link.
Ví dụ – Facebook Crawler:
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
Ví dụ – Twitterbot:
Twitterbot/1.0
Những bot này giúp hiển thị ảnh thumbnail, tiêu đề, mô tả khi bạn chia sẻ link trên mạng xã hội.
4. User Agent hoạt động như thế nào?
Mỗi khi người dùng mở một website, có rất nhiều quá trình “ngầm” diễn ra giữa trình duyệt (hoặc bot) và máy chủ (server). Một trong số đó là việc User Agent được gửi đi kèm theo request (yêu cầu HTTP/HTTPS).
Quy trình hoạt động cơ bản của User Agent diễn ra như sau:
Bước 1: Người dùng hoặc bot gửi yêu cầu truy cập (request)
Khi bạn nhập một URL vào trình duyệt hoặc khi Googlebot crawl website, một request HTTP/HTTPS sẽ được gửi đến máy chủ.
Trong request này có nhiều thông tin quan trọng như: headers, cookies, ngôn ngữ ưu tiên… và đặc biệt là User Agent string.
Bước 2: Máy chủ (server) nhận request và đọc User Agent
Server sẽ phân tích User Agent để biết:
- Trình duyệt nào đang truy cập (Chrome, Safari, Firefox…).
- Thiết bị nào đang dùng (mobile, desktop, tablet).
- Hệ điều hành gì (Windows, Android, iOS…).
- Đây là người dùng thật hay bot (Googlebot, Bingbot, Facebook crawler…).
Bước 3: Máy chủ trả về phản hồi (response) phù hợp
Nếu là người dùng mobile, server có thể trả về giao diện tối ưu cho điện thoại. Nếu là Googlebot, server sẽ cung cấp dữ liệu HTML sạch để bot dễ crawl. Nếu là bot xấu, server có thể chặn hoặc từ chối truy cập.
Bước 4: Trình duyệt hoặc bot hiển thị/xử lý nội dung
- Người dùng sẽ thấy website hiển thị theo đúng thiết bị.
- Bot tìm kiếm sẽ đọc nội dung và lập chỉ mục (index).
5. Tầm quan trọng của User-Agent
Cũng giống như chúng ta muốn nhận diện người lạ đến thăm nhà mình, máy chủ sử dụng user-agent để nhận diện khách hàng đang ghé thăm. Điều này hữu ích trong nhiều trường hợp, chẳng hạn như khi máy chủ cần nhận diện, áp dụng các cấu hình cụ thể hoặc xác định loại nội dung cần cung cấp cho khách hàng.
Điều này khiến tác nhân người dùng trở nên quan trọng đối với việc phân tích và theo dõi. Ví dụ: một số máy chủ sử dụng tác nhân người dùng để xác định loại thiết bị và sau đó trả về trang dành cho mobile nếu thiết bị đó là thiết bị di động hoặc trang dành cho PC nếu thiết bị đó là máy tính để bàn.
Nhiều website cũng thiết lập tệp robots.txt để chỉ định các bot thu thập thông tin có thể hoặc không thể thu thập thông tin website của họ. Trong trường hợp này, một bot thu thập thông tin như Googlebot hoặc Bingbot sẽ truy cập tệp robots.txt để xem liệu tệp này có chứa các quy tắc yêu cầu chúng không thu thập thông tin trang web hay không.
Chuỗi tác nhân người dùng cũng hữu ích trong việc khắc phục sự cố mà khách truy cập gặp phải khi cố gắng truy cập máy chủ. Trong trường hợp này, nó cho phép các nhà phát triển chẩn đoán các sự cố cấu hình và sửa các lỗi có thể khiến máy khách không thể truy cập tài nguyên trên máy chủ.
6. Một số giới hạn của User-Agent
User-agent không phải là phương pháp đáng tin để xác định máy khách đang truy cập máy chủ của bạn. Một số trình duyệt, bot và trình quản lý tải xuống có thể sử dụng chuỗi user-agent giả để đóng giả làm một máy khách khác.
Đây được gọi là giả mạo tác nhân người dùng (user-agent spoofing) và khá phổ biến, đặc biệt là với các trình thu thập thông tin của công cụ tìm kiếm. Nhiều bot xấu có thể được nhận dạng nhầm bằng cách giả mạo Googlebot hoặc Bingbot. Điều này cho phép chúng thu thập thông tin website của bạn và sử dụng hết băng thông mà bạn không hề hay biết.
User-agent cũng không xác định được khách truy cập đang truy cập website của bạn. Vì vậy, bạn không thể biết người dùng là ai thông qua user-agent của họ, ngay cả khi nó chính xác và không bị giả mạo. Việc nhiều người có cùng một chuỗi user-agent là điều bình thường.