Trang chủ » làm thế nào để » 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ì?

    Trình duyệt của bạn sẽ gửi tác nhân người dùng đến 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 trình duyệt của bạn trước đây - nhưng chính xác thì tác nhân người dùng là gì?

    Một tác nhân người dùng là một chuỗi các dòng - - 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 trường Tác nhân người dùng trong tiêu đề HTTP. Nội dung của trường tác nhân người dùng khác nhau tùy theo trình duyệt. Mỗi trình duyệt có tác nhân người dùng riêng biệt. Về cơ bản, một tác nhân người dùng là một cách để trình duyệt có thể nói là Hi Hi, tôi là Mozilla Firefox trên Windows, hay Hi Hi, Tôi là Safari trên iPhone iPhone với máy chủ web.

    Máy chủ web có thể sử dụng thông tin này để phục vụ 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 đến các trình duyệt hiện đại và một bản tin vui lòng nâng cấp trình duyệt tin nhắn 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) Tắc kè / 20100101 Firefox / 12.0

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

    Bây giờ chúng ta hãy xem tác nhân người dùng của Internet Explorer 9, đó là:

    Mozilla / 5.0 (tương thích; 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ụ kết xuất Trident 5. Tuy nhiên, bạn có thể phát hiện điều gì đó khó hiểu - IE tự nhận mình là Mozilla.

    Chúng tôi sẽ trở lại điều đó trong một phút. Trước tiên, hãy cũng kiểm tra tác nhân người dùng của Google Chrome:

    Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, như tắc kè) Chrome / 19.0.1084.52 Safari / 536.5

    Cốt truyện dày lên: 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 các tác nhân và trình duyệt người dùng.

    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 đổ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 tiên tiến hơn so với Mosaic - đặc biệt, nó hỗ trợ các khung. Các máy chủ web đã kiểm tra xem tác nhân người dùng có chứa từ Mozilla và đã gửi các trang có chứa khung tới trình duyệt Mozilla không. Đến 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 xuất hiện và nó cũng hỗ trợ các khung. Tuy nhiên, IE đã không nhận được các trang web có khung, vì các máy chủ web chỉ gửi chúng cho các trình duyệt Mozilla. Để khắc phục vấn đề này, Microsoft đã thêm từ Mozilla vào tác nhân người dùng của họ và ném thêm thông tin (từ tương thích trực tiếp và một tài liệu tham khảo cho IE.) Các trình duyệt khác mà sau này đã làm điều tương tự.

    Cuối cùng, một số máy chủ đã tì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ừ giống 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 KHTML, như dòng Gecko, cho mục đích tương thích. Theo cách này, các nhà phát triển trình duyệt tiếp tục thêm từ vào tác nhân người dùng của họ theo thời gian.

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

    Công 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:

    • Phục vụ 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 cho mục đích 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 xấu - ví dụ: để hiển thị một Trang web này phải được xem trong tin nhắn 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 làm mỏng trên thiết bị di động.
    • Thu thập số liệu thống kê cho thấy các trình duyệt và hệ điều hành được sử dụng bởi người dùng của họ. Nếu bạn từng thấy thống kê thị phần của trình duyệt, đây là cách họ có được.

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

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

    Các máy chủ web có thể cung cấp cho bot cách xử lý đặc biệt - ví dụ: bằng cách cho phép chúng thông qua các 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 mình thành Googlebot.)

    Các máy chủ web cũng có thể ra 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 robot.txt. Ví dụ, một máy chủ web có thể yêu cầu một bot cụ thể biến mất hoặc bảo 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 robot.txt, các bot được xác định bởi các chuỗi tác nhân người dùng của chúng.


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