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?
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?
Câu trả lời:
Đó là một câu chuyện dài và buồn .
Tóm tắt:
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.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.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'.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
.
userAgent
String 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ỏ?
Tôi nghĩ rằng nó phải làm với: http://en.wikipedia.org/wiki/User_agent#User_agent_spaggering
Quay trở lại những ngày đầu, Netscape (mã có tên Mozilla) là đối thủ chính của IE và họ muốn ngăn chặn việc bị từ chối bởi các trang web từ chối các trình duyệt khác ngoài Netscape.
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 ...
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ì userAgent
khô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!
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