Tác nhân người dùng của trình duyệt là gì?

Mục lục:

Tác nhân người dùng của trình duyệt là gì?
Tác nhân người dùng của trình duyệt là gì?

Video: Tác nhân người dùng của trình duyệt là gì?

Video: Tác nhân người dùng của trình duyệt là gì?
Video: Đây Là Lí Do Các Bạn Phải Mua Mainboard ĐẮT TIỀN! - YouTube 2024, Tháng tư
Anonim
Trình duyệt của bạn gửi tác nhân người dùng của nó tới mọi trang web bạn kết nối. Chúng tôi đã viết về việc thay đổi tác nhân người dùng của trình duyệt của bạn trước đây - nhưng dù sao thì đại lý người dùng chính xác là gì?
Trình duyệt của bạn gửi tác nhân người dùng của nó tới mọi trang web bạn kết nối. Chúng tôi đã viết về việc thay đổi tác nhân người dùng của trình duyệt của bạn trước đây - nhưng dù sao thì đại lý người dùng chính xác là gì?

Tác nhân người dùng là "chuỗi" - tức là một dòng văn bản - xác định trình duyệt và hệ điều hành cho máy chủ web. Điều này nghe có vẻ đơn giản, nhưng các tác nhân người dùng đã trở thành một mớ hỗn độn theo thời gian.

Những thứ cơ bản

Khi trình duyệt của bạn kết nối với một trang web, nó bao gồm một trường User-Agent trong tiêu đề HTTP của nó. Nội dung của trường đại lý người dùng thay đổi từ trình duyệt đến trình duyệt. Mỗi trình duyệt có một tác nhân người dùng riêng biệt. Về cơ bản, tác nhân người dùng là một cách để trình duyệt nói "Xin chào, tôi là Mozilla Firefox trên Windows" hoặc "Xin chào, tôi là Safari trên iPhone" tới máy chủ web.

Máy chủ web có thể sử dụng thông tin này để cung cấp các trang web khác nhau cho các trình duyệt web khác nhau và các hệ điều hành khác nhau. Ví dụ: một trang web có thể gửi các trang di động tới các trình duyệt di động, các trang hiện đại tới các trình duyệt hiện đại và thông báo “hãy nâng cấp trình duyệt của bạn” lên Internet Explorer 6.

Kiểm tra đại lý người dùng

Ví dụ: đây là tác nhân người dùng của Firefox trên Windows 7:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0

Tác nhân người dùng này cho máy chủ web biết một chút: Hệ điều hành là Windows 7 (tên mã Windows NT 6.1), đây là phiên bản Windows 64 bit (WOW64), và trình duyệt chính là Firefox 12.
Tác nhân người dùng này cho máy chủ web biết một chút: Hệ điều hành là Windows 7 (tên mã Windows NT 6.1), đây là phiên bản Windows 64 bit (WOW64), và trình duyệt chính là Firefox 12.

Bây giờ, hãy xem đại lý người dùng của Internet Explorer 9, đó là:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

Chuỗi tác nhân người dùng xác định trình duyệt là IE 9 với công cụ hiển thị Trident 5. Tuy nhiên, bạn có thể phát hiện ra điều gì đó khó hiểu - IE tự xác định là Mozilla.
Chuỗi tác nhân người dùng xác định trình duyệt là IE 9 với công cụ hiển thị Trident 5. Tuy nhiên, bạn có thể phát hiện ra điều gì đó khó hiểu - IE tự xác định là Mozilla.

Chúng ta sẽ quay lại điều đó sau một phút. Trước tiên, hãy cùng xem xét tác nhân người dùng của Google Chrome:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5

Cốt truyện dày đặc: Chrome đang giả vờ là cả Mozilla và Safari. Để hiểu lý do tại sao, chúng tôi sẽ phải kiểm tra lịch sử của tác nhân người dùng và trình duyệt.
Cốt truyện dày đặc: Chrome đang giả vờ là cả Mozilla và Safari. Để hiểu lý do tại sao, chúng tôi sẽ phải kiểm tra lịch sử của tác nhân người dùng và trình duyệt.

Chuỗi tác nhân người dùng Mess

Mosaic là một trong những trình duyệt đầu tiên. Chuỗi tác nhân người dùng của nó là NCSA_Mosaic / 2.0. Sau đó, Mozilla xuất hiện (sau này đổi tên thành Netscape), và tác nhân người dùng của nó là Mozilla / 1.0. Mozilla là một trình duyệt cao cấp hơn Mosaic - đặc biệt, nó hỗ trợ khung. Máy chủ web được kiểm tra để thấy rằng tác nhân người dùng có chứa từ Mozilla và đã gửi các trang chứa các khung đến trình duyệt Mozilla. Đối với các trình duyệt khác, máy chủ web đã gửi các trang cũ không có khung.

Cuối cùng, Internet Explorer của Microsoft cũng được hỗ trợ và cũng hỗ trợ khung. Tuy nhiên, IE không nhận được các trang web có khung, bởi vì các máy chủ web chỉ gửi các trang đó đến các trình duyệt Mozilla. Để khắc phục sự cố này, Microsoft đã thêm từ Mozilla vào tác nhân người dùng của họ và đưa thêm thông tin (từ “tương thích” và tham chiếu đến IE). Máy chủ web rất vui khi thấy từ Mozilla và gửi cho IE các trang web hiện đại. Các trình duyệt khác đến sau cũng làm như vậy.

Cuối cùng, một số máy chủ đã tìm kiếm từ Gecko - công cụ kết xuất của Firefox - và phục vụ các trình duyệt Gecko các trang khác với các trình duyệt cũ hơn. KHTML - ban đầu được phát triển cho Konquerer trên máy tính để bàn KDE của Linux - thêm các từ “như Gecko” để họ cũng có được các trang hiện đại được thiết kế cho Gecko. WebKit dựa trên KHTML - khi nó được phát triển, họ đã thêm từ WebKit và giữ nguyên dòng "KHTML, như Gecko" ban đầu cho mục đích tương thích. Bằng cách này, các nhà phát triển trình duyệt vẫn tiếp tục thêm từ vào đại lý người dùng của họ theo thời gian.
Cuối cùng, một số máy chủ đã tìm kiếm từ Gecko - công cụ kết xuất của Firefox - và phục vụ các trình duyệt Gecko các trang khác với các trình duyệt cũ hơn. KHTML - ban đầu được phát triển cho Konquerer trên máy tính để bàn KDE của Linux - thêm các từ “như Gecko” để họ cũng có được các trang hiện đại được thiết kế cho Gecko. WebKit dựa trên KHTML - khi nó được phát triển, họ đã thêm từ WebKit và giữ nguyên dòng "KHTML, như Gecko" ban đầu cho mục đích tương thích. Bằng cách này, các nhà phát triển trình duyệt vẫn tiếp tục thêm từ vào đại lý người dùng của họ theo thời gian.

Máy chủ web không thực sự quan tâm chuỗi chuỗi tác nhân chính xác của người dùng - họ chỉ kiểm tra xem nó có chứa một từ cụ thể hay không.

Sử dụng

Máy chủ web sử dụng tác nhân người dùng cho nhiều mục đích khác nhau, bao gồm:

  • Cung cấp các trang web khác nhau cho các trình duyệt web khác nhau. Điều này có thể được sử dụng để làm tốt - ví dụ, để phục vụ các trang web đơn giản hơn cho các trình duyệt cũ hơn - hoặc điều ác - ví dụ, để hiển thị thông báo “Trang web này phải được xem trong Internet Explorer”.
  • Hiển thị nội dung khác nhau cho các hệ điều hành khác nhau - ví dụ: bằng cách hiển thị trang được rút gọn trên thiết bị di động.
  • Thu thập số liệu thống kê cho thấy trình duyệt và hệ điều hành đang được người dùng sử dụng. Nếu bạn đã từng thấy thống kê thị phần trình duyệt, đây là cách chúng được mua lại.

Các bot thu thập dữ liệu web cũng sử dụng tác nhân người dùng. Ví dụ: trình thu thập dữ liệu web của Google tự xác định là:

Googlebot/2.1 (+https://www.google.com/bot.html)

Máy chủ web có thể cung cấp cho chương trình xử lý đặc biệt - ví dụ, bằng cách cho phép chúng thông qua màn hình đăng ký bắt buộc. (Có, điều này có nghĩa là đôi khi bạn có thể bỏ qua màn hình đăng ký bằng cách đặt tác nhân người dùng của bạn cho Googlebot.)

Các máy chủ web cũng có thể đưa ra các lệnh cho các bot cụ thể (hoặc tất cả các bot) bằng cách sử dụng tệp robots.txt. Ví dụ một máy chủ web có thể cho biết một bot cụ thể để biến mất, hoặc nói với một bot khác chỉ lập chỉ mục các khu vực nhất định của trang web. Trong tệp robots.txt, các bot được xác định bởi chuỗi tác nhân người dùng của chúng.

Image
Image

Tất cả các trình duyệt chính đều có cách để đặt các tác nhân người dùng tùy chỉnh, vì vậy bạn có thể xem máy chủ web nào gửi tới các trình duyệt khác nhau. Ví dụ: đặt trình duyệt trên máy tính của bạn thành chuỗi tác nhân người dùng của trình duyệt trên thiết bị di động và bạn sẽ thấy phiên bản trang web trên thiết bị di động trên máy tính để bàn của mình.

Đề xuất: