Tại sao tất cả các tác nhân người dùng của trình duyệt bắt đầu với dịch vụ Mozilla Mozilla / Hay?


210

Tất cả các chuỗi tác nhân người dùng phổ biến của trình duyệt, thậm chí cả Internet Explorer, đều bắt đầu bằng Mozilla/. Tại sao điều này là trường hợp?


2
Tác nhân người dùng đã được sử dụng để nói với các máy chủ web. Tôi không phải là một kẻ tào lao ngẫu nhiên; Tôi cũng hỗ trợ các tính năng mà những hỗ trợ này. Xin đừng phân biệt đối xử với tôi. Do đó tác nhân người dùng của một trình duyệt có tất cả những người khác trong đó.
Toàn cảnh

Câu trả lời:


285

Đó là một câu chuyện dài và buồn .

Tóm tắt:

  1. Trình duyệt Mozilla được phát hành, với User-Agent Mozilla/1.0 (Win3.1). Nó được đổi tên công khai thành Netscape, nhưng trong Tác nhân người dùng, nó giữ nguyên tên gốc.
  2. Internet Explorer được phát hành. Nó giả mạo Netscape bằng cách khởi động User-Agent Mozilla/vì các máy chủ web thường xuyên đánh hơi trình duyệt và phục vụ các trang có khung - một tính năng được cả Netscape và IE hỗ trợ, nhưng không phải là các trình duyệt khác trong thời đại - chỉ với Netscape.
  3. Theo thời gian, Gecko, Konqueror, Opera, Safari và Chrome từng quyết định giả mạo tương tự Tác nhân người dùng của một số trình duyệt trước đó để thao túng các trang web đánh hơi trình duyệt để hiểu chính xác các tính năng của trình duyệt. Là một phần của việc giả mạo này, tất cả các trình duyệt bắt đầu Đại lý người dùng của họ Mozilla/, giống như các trình duyệt trước khi họ thực hiện. Nhiều kết quả vô nghĩa khác cũng như Tác nhân người dùng hiện đại của Chrome tự xưng là Mozilla, Chrome, Safari và 'như Gecko'.

18
Lưu ý rằng "Mozilla" ở đây không phải là dự án nguồn mở hiện tại của tên đó, mà là tên mã ban đầu của Netscape, được cho là đề cập đến "Kẻ giết người khảm". Tên mã được sử dụng lại nhiều năm sau đó cho dự án nguồn mở, công cụ kết xuất là "Tắc kè" được đề cập ở đây.
IMSoP

75
Và chúng ta ở đây vào năm 2015, vẫn còn tồn tại sự ngu ngốc. Chuỗi tác nhân người dùng của MS Edge là Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.1.
filoxo

18
Không có gì ngạc nhiên khi phát hiện trình duyệt rất khó, tất cả họ đều giả vờ là nhau!
Sarsaparilla

3
Cuộc chiến trình duyệt không có thương vong.
Pikamander2

11
Nếu userAgentString là một mớ hỗn độn như vậy, thì tại sao nó không bị phản đối và / hoặc bị loại bỏ?
Melvin Abraham


10

Như @Jason đã đề cập "Đó là một câu chuyện dài". Tóm tắt câu chuyện đó "chỉ mỗi trình duyệt giả vờ là Mozilla"

Sau khi thử mọi thứ, cuối cùng tôi cũng đã sử dụng: http://www.useragentopes.com/

Bạn có thể sử dụng trang web trên để lấy tác nhân người dùng và hệ điều hành được định dạng.
Họ có một API mà bạn có thể sử dụng trực tiếp ...


1
Chỉnh sửa phạm vi: mọi trình duyệt, bao gồm Mozilla, giả vờ là Netscape, có tác nhân người dùng bắt đầu Mozilla. Việc tên mã được sử dụng lại chỉ làm tăng thêm sự nhầm lẫn.
IMSoP

Cơ sở mã Mozilla và Firefox ban đầu là một phần của Netscape. Đó là lý do tại sao nhiều API nội bộ của Firefox có "ns" làm tiền tố.
Nói dối Ryan

2

Bởi vì đó là cách Netscape tự xác định và Microsoft muốn làm việc với các trang web sẽ phát hiện Netscape và từ chối mọi thứ khác.


1

Lý do cho điều này là các cuộc chiến trình duyệt khét tiếng .

Nói tóm lại - các trình duyệt bắt đầu giả vờ là một số trình duyệt khác, bởi vì một số trang web phục vụ nội dung dựa trên trình duyệt nào đã yêu cầu và họ cũng muốn nội dung có ý nghĩa đối với các trình duyệt khác.

Tôi thấy ngạc nhiên khi nó vẫn chưa được giải quyết cho đến ngày nay. Vì userAgentkhông thể xóa an toàn vì lý do cũ, tại sao một số tính năng mới xác định rõ ràng trình duyệt không được giới thiệu? Có, hầu hết thời gian bạn không cần phát hiện trình duyệt, mà là phát hiện tính năng, nhưng nó cũng không phải là JS tích hợp!


0

Mozilla / 5.0 là mã thông báo chung cho biết trình duyệt tương thích với Mozilla và phổ biến đối với hầu hết mọi trình duyệt hiện nay. để biết thêm chi tiết bấm vào đây


2
Đây là một chút sai lầm - lưu ý rằng "Mozilla" đang được nhắc đến thực sự là trình duyệt Mozilla (Kẻ giết người khảm), được đổi tên thành Netscape trước khi phát hành (và hầu hết độc giả có thể chưa bao giờ nghe thấy bởi tên gốc của nó) - không phải Mozilla cộng đồng phần mềm miễn phí phi lợi nhuận vẫn còn tồn tại đến ngày nay.
Đánh dấu Amery
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.