Trình tạo User Agent ngẫu nhiên cho kiểm tra phát triển web

Tạo chuỗi user agent trình duyệt thực tế với các tùy chọn lọc theo loại thiết bị, gia đình trình duyệt và hệ điều hành. Hoàn hảo cho việc kiểm tra phát triển web và kiểm tra tính tương thích.

Trình tạo tác nhân người dùng ngẫu nhiên

Tạo ra các chuỗi tác nhân người dùng trình duyệt ngẫu nhiên, thực tế cho việc kiểm tra phát triển web.

Chuỗi tác nhân người dùng được tạo ra

Sao chép
📚

Tài liệu hướng dẫn

Trình Tạo User Agent Ngẫu Nhiên

Giới Thiệu

Chuỗi User Agent là một định danh văn bản cụ thể mà các trình duyệt web và các ứng dụng khác gửi đến các trang web để xác định bản thân. Chuỗi này thường chứa thông tin về trình duyệt, hệ điều hành, loại thiết bị và động cơ kết xuất đang được sử dụng. Đối với các nhà phát triển và kiểm thử web, việc có quyền truy cập vào nhiều chuỗi user agent thực tế là rất cần thiết để kiểm tra tính tương thích, khả năng phản hồi và chức năng của trang web trên các nền tảng khác nhau.

Công cụ Trình Tạo User Agent Ngẫu Nhiên này tạo ra các chuỗi user agent trông giống thật dựa trên các tham số bạn đã chọn. Bạn có thể lọc theo loại thiết bị (máy tính để bàn hoặc di động), gia đình trình duyệt (Chrome, Firefox, Safari hoặc Edge) và hệ điều hành để tạo ra các user agent phù hợp với yêu cầu kiểm tra của bạn. Công cụ cung cấp một giao diện đơn giản với các tùy chọn để sao chép chuỗi đã tạo chỉ với một cú nhấp chuột và tạo ra các chuỗi ngẫu nhiên mới ngay lập tức.

Cấu Trúc User Agent

Các chuỗi user agent theo các mẫu cụ thể tùy thuộc vào trình duyệt và nền tảng, nhưng chúng thường chứa một số thành phần chung:

  1. Định danh Trình duyệt: Thường bắt đầu bằng "Mozilla/5.0" vì lý do tương thích lịch sử
  2. Thông tin Nền tảng/Hệ điều hành: Chi tiết về hệ điều hành (Windows, macOS, Android, iOS)
  3. Động cơ Trình duyệt: Động cơ kết xuất (như Gecko, WebKit hoặc Blink)
  4. Chi tiết Trình duyệt: Tên và phiên bản trình duyệt cụ thể

Dưới đây là phân tích cấu trúc user agent điển hình cho các trình duyệt chính:

Chrome

1Mozilla/5.0 (nền tảng; chi tiết) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/version Safari/537.36
2

Firefox

1Mozilla/5.0 (nền tảng; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
2

Safari

1Mozilla/5.0 (nền tảng) AppleWebKit/webkitversion (KHTML, như Gecko) Version/safariversion Safari/safariversion
2

Edge

1Mozilla/5.0 (nền tảng) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/chromiumversion Safari/537.36 Edg/edgeversion
2

Phần nền tảng thay đổi đáng kể giữa các thiết bị máy tính để bàn và di động:

Ví dụ Máy tính để bàn:

  • Windows: Windows NT 10.0; Win64; x64
  • macOS: Macintosh; Intel Mac OS X 10_15_7
  • Linux: X11; Linux x86_64

Ví dụ Di động:

  • Android: Linux; Android 12; SM-G998B
  • iOS: iPhone; CPU iPhone OS 15_4 như Mac OS X

Sự Khác Biệt Giữa Các Loại Thiết Bị

User Agent Máy Tính để Bàn

Các user agent máy tính để bàn thường bao gồm thông tin hệ điều hành cụ thể, chi tiết kiến trúc (như x86_64 hoặc Win64), và đôi khi là sở thích ngôn ngữ. Chúng có xu hướng nhất quán hơn giữa các trình duyệt so với user agent di động.

User Agent Di Động

Các user agent di động chứa thông tin mô hình thiết bị, phiên bản hệ điều hành di động, và thường bao gồm từ "Mobile" ở cuối. Safari di động trên các thiết bị iOS sẽ bao gồm các định danh "iPhone" hoặc "iPad", trong khi các thiết bị Android bao gồm nhà sản xuất và số mô hình.

Mẫu Phiên Bản Trình Duyệt

Mỗi trình duyệt theo các mẫu phiên bản khác nhau:

  • Chrome: Sử dụng số phiên bản bốn phần (ví dụ: 96.0.4664.110)
  • Firefox: Thường sử dụng số phiên bản hai hoặc ba phần (ví dụ: 95.0 hoặc 95.0.2)
  • Safari: Sử dụng số phiên bản đơn giản như 15.2
  • Edge: Sử dụng số phiên bản tương tự Chrome nhưng với phiên bản Edge riêng (ví dụ: 96.0.1054.62)

Các Trường Hợp Sử Dụng

Việc tạo ra user agent ngẫu nhiên có một số ứng dụng quan trọng trong phát triển và kiểm tra web:

  1. Kiểm Tra Tính Tương Thích Đa Trình Duyệt: Kiểm tra cách trang web của bạn hiển thị và hoạt động trên các trình duyệt khác nhau mà không cần cài đặt nhiều trình duyệt hoặc sử dụng nhiều thiết bị.

  2. Kiểm Tra Thiết Kế Phản Hồi: Xác minh rằng trang web của bạn phát hiện đúng thiết bị di động và máy tính để bàn và phục vụ bố cục thích hợp.

  3. Xác Thực Phát Hiện Tính Năng: Đảm bảo rằng các cơ chế phát hiện tính năng của trang web hoạt động chính xác cho các khả năng trình duyệt khác nhau.

  4. Kiểm Tra QA và Tự Động: Kết hợp các user agent khác nhau vào các kịch bản kiểm tra tự động của bạn để mô phỏng các môi trường người dùng khác nhau.

  5. Kiểm Tra Hiệu Suất: Phân tích cách trang web của bạn hoạt động khi được truy cập từ các môi trường trình duyệt khác nhau.

  6. Gỡ Lỗi Các Vấn Đề Cụ Thể Trình Duyệt: Tái tạo và sửa chữa các lỗi chỉ xảy ra trong các trình duyệt hoặc phiên bản cụ thể.

  7. Kiểm Tra API: Kiểm tra cách API của bạn xử lý các yêu cầu từ các ứng dụng khách khác nhau.

Các Phương Pháp Thay Thế

Mặc dù trình tạo user agent ngẫu nhiên của chúng tôi hữu ích cho nhiều kịch bản kiểm tra, nhưng có những phương pháp thay thế khác:

  1. Dịch Vụ Kiểm Tra Trình Duyệt: Các nền tảng như BrowserStack, Sauce Labs hoặc LambdaTest cung cấp các phiên bản trình duyệt thực tế để kiểm tra thay vì chỉ mô phỏng user agent.

  2. Công Cụ Phát Triển Trình Duyệt: Hầu hết các trình duyệt hiện đại cho phép bạn ghi đè user agent thông qua công cụ phát triển của họ, điều này có thể hữu ích cho các bài kiểm tra nhanh.

  3. Tiện Ích Chuyển Đổi User Agent: Các tiện ích mở rộng trình duyệt cho phép bạn chuyển đổi giữa các user agent được định nghĩa trước trong khi duyệt web.

  4. Máy Ảo hoặc Container: Chạy các phiên bản thực tế của các hệ điều hành và trình duyệt khác nhau để kiểm tra chính xác nhất.

  5. Kiểm Tra Trình Duyệt Không Đầu: Sử dụng các công cụ như Puppeteer hoặc Selenium để điều khiển chương trình các trình duyệt với các cài đặt user agent khác nhau.

Mỗi phương pháp thay thế có những ưu điểm riêng và có thể phù hợp hơn tùy thuộc vào nhu cầu và tài nguyên kiểm tra cụ thể của bạn.

Lịch Sử

Khái niệm về chuỗi user agent đã xuất hiện từ những ngày đầu của World Wide Web. Thuật ngữ "user agent" đến từ đặc tả HTTP, nơi nó đề cập đến ứng dụng khách thực hiện yêu cầu đến một máy chủ web.

Những Ngày Đầu (1990s)

Trình duyệt đầu tiên được sử dụng rộng rãi, NCSA Mosaic, bao gồm một chuỗi user agent đơn giản xác định tên và phiên bản trình duyệt. Khi Netscape Navigator được phát hành, nó sử dụng một định dạng tương tự. Tuy nhiên, khi các máy chủ web bắt đầu cung cấp nội dung khác nhau dựa trên trình duyệt, một thực tiễn được gọi là "sniffing trình duyệt" đã xuất hiện.

Cuộc Chiến Trình Duyệt và Giả Mạo User Agent (Cuối 1990s)

Trong cuộc chiến trình duyệt giữa Netscape và Internet Explorer, các trang web thường phục vụ nội dung tối ưu hóa độc quyền cho các trình duyệt cụ thể. Để đảm bảo tính tương thích, các trình duyệt bắt đầu bao gồm các chuỗi xác định bản thân là các trình duyệt khác. Đây là lý do tại sao hầu hết các trình duyệt hiện đại vẫn bao gồm "Mozilla" trong các chuỗi user agent của họ, một tham chiếu đến tên mã của Netscape Navigator.

Cuộc Cách Mạng Di Động (2000s-2010s)

Sự gia tăng của các thiết bị di động đã giới thiệu sự phức tạp mới cho các chuỗi user agent. Các trình duyệt di động cần xác định bản thân là di động để nhận nội dung thích hợp, dẫn đến việc thêm các định danh thiết bị và các token cụ thể cho di động.

Những Thách Thức Hiện Đại (2010s-Hiện Tại)

Khi hệ sinh thái web ngày càng phức tạp, các chuỗi user agent đã trở nên rối rắm hơn. Chúng giờ đây chứa các tham chiếu đến nhiều động cơ trình duyệt (như "AppleWebKit" và "Gecko") vì lý do tương thích, ngay cả khi những động cơ đó không thực sự được sử dụng.

Sự phức tạp này đã dẫn đến những thách thức trong việc phân tích chính xác các chuỗi user agent, và một số nhóm tiêu chuẩn web đã đề xuất việc loại bỏ hoặc đơn giản hóa các chuỗi user agent theo hướng các gợi ý cấu trúc hơn. Tuy nhiên, vì lý do tương thích ngược, chuỗi user agent truyền thống vẫn là một phần thiết yếu của việc duyệt web.

Ví Dụ Mã

Dưới đây là các ví dụ về cách làm việc với các chuỗi user agent trong các ngôn ngữ lập trình khác nhau:

1// JavaScript: Phát hiện loại trình duyệt từ user agent
2function detectBrowser() {
3  const userAgent = navigator.userAgent;
4  
5  if (userAgent.indexOf("Firefox") > -1) {
6    return "Firefox";
7  } else if (userAgent.indexOf("SamsungBrowser") > -1) {
8    return "Samsung Browser";
9  } else if (userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1) {
10    return "Opera";
11  } else if (userAgent.indexOf("Trident") > -1) {
12    return "Internet Explorer";
13  } else if (userAgent.indexOf("Edge") > -1) {
14    return "Edge";
15  } else if (userAgent.indexOf("Chrome") > -1) {
16    return "Chrome";
17  } else if (userAgent.indexOf("Safari") > -1) {
18    return "Safari";
19  } else {
20    return "Không xác định";
21  }
22}
23
24// Sử dụng
25console.log("Bạn đang sử dụng: " + detectBrowser());
26

Các Mẫu User Agent Thông Dụng

Dưới đây là một số ví dụ về các chuỗi user agent thực tế cho các trình duyệt và nền tảng khác nhau:

Trình Duyệt Máy Tính để Bàn

Chrome trên Windows:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/96.0.4664.110 Safari/537.36
2

Firefox trên macOS:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Firefox/95.0
2

Safari trên macOS:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, như Gecko) Version/15.2 Safari/605.1.15
2

Edge trên Windows:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62
2

Trình Duyệt Di Động

Chrome trên Android:

1Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/96.0.4664.104 Mobile Safari/537.36
2

Safari trên iPhone:

1Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 như Mac OS X) AppleWebKit/605.1.15 (KHTML, như Gecko) Version/15.2 Mobile/15E148 Safari/604.1
2

Firefox trên Android:

1Mozilla/5.0 (Android 12; Mobile; rv:95.0) Gecko/95.0 Firefox/95.0
2

Samsung Internet trên Galaxy:

1Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, như Gecko) SamsungBrowser/16.0 Chrome/92.0.4515.166 Mobile Safari/537.36
2

Tài Liệu Tham Khảo

  1. "User Agent." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent

  2. "Chuỗi User Agent Trình Duyệt." WhatIsMyBrowser.com, https://www.whatismybrowser.com/guides/the-latest-user-agent/

  3. "Tiêu Đề User-Agent HTTP Giải Thích." KeyCDN, https://www.keycdn.com/support/user-agent

  4. "Gợi Ý Khách Hàng." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/HTTP/Client_hints

  5. "Lịch Sử của Chuỗi User-Agent Trình Duyệt." WebAIM, https://webaim.org/blog/user-agent-string-history/

  6. "Phát Hiện Trình Duyệt Sử Dụng User Agent." Google Developers, https://developer.chrome.com/docs/multidevice/user-agent/