User Agent là thuật ngữ tạm dịch gọi là “tác nhân người dùng”. Ví dụ, một người đọc email là một tác nhân người dùng email. Trong nhiều trường hợp, một user agent đóng vai trò như một khách hàng trong một giao thức mạng được sử dụng để thông tin liên lạc giữa client-server.
Khi một tác nhân người dùng hoạt động trong một giao thức mạng, nó thường tự nhận dạng, loại ứng dụng, hệ điều hành,… Ví dụ dòng dưới đây là một user agent:
Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
Khi bạn vào một trang web từ trình duyệt, một user-agent như vậy sẽ được tạo và người chủ trang web có thể biết được một số thông tin cơ bản của người dùng. Ví dụ như ở trên người dùng đang vào bằng iPad, sử dụng trình duyệt nhân AppleWebKit (chính là Safari),… Cụ thể
- Mozilla / 5.0 : Trước đây được sử dụng để biểu thị khả năng tương thích với công cụ Mozilla.
- (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) : Chi tiết về hệ thống mà trình duyệt đang chạy.
- AppleWebKit / 531.21.10 : Nền tảng trình duyệt sử dụng.
- (KHTML, như Gecko) : Chi tiết nền tảng trình duyệt.
- Mobile/7B405: Trình duyệt này được sử dụng để chỉ ra các cải tiến cụ thể có sẵn trực tiếp trong trình duyệt hoặc thông qua các bên thứ ba.
Các con bot (ví dụ Google Bot) cũng mang một user-agent cụ thể, ví dụ:
Googlebot/2.1 (+http://www.google.com/bot.html)
Các webmaster có thể dễ dàng nhận biết được các user-agent có tên này chính là các con bot của Google. Nếu không thích, chủ website có thể chặn lại trong file robots.txt.
Từ việc nhận dạng người dùng thông qua User Agent, đã có nhiều extension hỗ trợ người dùng “giả mạo” User Agent để các webmaster nhận biết sai về trình duyệt, HĐH người dùng sử dụng. Một trong những extensions phổ biến nhất chính là User Agent Switcher.