为什么浏览器的用户代理字符串以 Mozilla 开头?
转自:Solidot,英文:Aaron Andersen
https://www.solidot.org/story?sid=55694
为什么浏览器的用户代理字符串(user-agent string)以 Mozilla 开头?
最早流行的浏览器是 NCSA Mosaic,它称自己为 NCSA_Mosaic/2.0 (Windows 3.1);
后来一个新浏览器出现了,它的名字叫 Mozilla,是 Mosaic Killer 的缩写。
Mosaic 并不觉得这好笑,因此它改名为 Netscape,它称自己为 Mozilla/1.0 (Win3.1)。
Netscape 支持框架(frame),而 Mosaic 不支持,因此用户代理嗅探(User Agent sniffing)出现了,网站在检测到 Mozilla 后就发送框架,如果不是就不发送。
后来微软开发了 IE,希望它成为 Netscape Killer,IE 也支持框架,但由于它不是 Mozilla,网站没有向它发送框架。
微软没有耐心等待网站修改,而是声称它兼容于 Mozilla,因此冒充 Netscape 称自己为 Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)。
第一次浏览器战争以 Netscape 的失利结束,但 Netscape 以 Mozilla 的名字获得了新生。
Mozilla 构建了 Gecko,称自己为 Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826。Gecko 是一个渲染引擎,Mozilla 在此基础上开发了 Firefox,它称自己为 Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.7.5) Gecko/20041108 Firefox/1.0。
因为 Gecko 好于 IE,因此用户代理嗅探又出现了,网站在检测到 Gecko 后会提供更好的页面代码。
Linux 上的浏览器 Konqueror 使用的渲染引擎是 KHTM,它只能冒充 Gecko 称自己为 Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)。
Opera 则提供了选项,让用户想冒充哪个浏览器就冒充哪个浏览器。
苹果后来创建了 KHTML 的一个分支 WebKit,称自己为 Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5。
这就是为什么浏览器的用户代理字符串以 Mozilla 开头。
为什么浏览器的用户代理字符串以 Mozilla 开头?相关推荐
- 为什么浏览器的user-agent字符串以'Mozilla'开头呢?
这是一篇技术文章的翻译+再创作,原文链接[link] 如果熟悉元素审查的童鞋,很多都会发现request headers中的user-agent基本都是以'Mozilla'开头的 如我把博客编辑器元素 ...
- 浏览器模式用户代理字符串(IE)
问题 问题描述 今天在做项目的时候,QA部门提了一个Bug,在一个搜索列表中,搜索栏为空时刷新页面,却触发了搜索功能,并且列表显示出<未搜索到结果> 环境 IE11 问题原因 QA的IE1 ...
- Windows 系统IE各版本浏览器的用户代理字符串
Windows 系统IE各版本浏览器的用户代理字符串 IE9:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0 ...
- 各浏览器的用户代理字符串整理
每个浏览器都有它自己的用户代理(user agent)字符串,里面包含了浏览器和操作系统等信息.通过使用这个字符串,我们可以处理跨浏览器的差异.用户代理字符串保存在 JavaScript 的 navi ...
- 各浏览器User-Agent用户代理字符串整理
一.基础知识篇: HttpHeader之User-Agent UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA.它是一个特殊字符串头,是一 ...
- 浏览器的用户代理(User-Agent)
最近在学习网络爬虫的东西,使用Jsoup来解析html文档,在发出http请求的过程中需要配置用户代理这一属性,所以想具体了解一下.虽然已接触javaweb开发两年了,对http协议头也有一定的了解, ...
- 浏览器用户代理_什么是浏览器的用户代理?
浏览器用户代理 Your browser sends its user agent to every website you connect to. We've written about chang ...
- 如何修改IE浏览器的User-Agent用户代理字符串信息
每款浏览器都有一个专属的 User-Agent 字符串信息, 通过 User-Agent 网站可以检测用户所使用的浏览器版本.某些网站为了让用户获得更好的浏览体验,通过检测用户的浏览器版本,以确认用户 ...
- 用户代理字符串_用户代理字符串(或者,不要让我追随您)
用户代理字符串 A very long time ago (read: ten years ago), we were in-between the so-called First and Secon ...
- 用户代理字符串检测技术【2】
4. 识别Windows操作系统 在Windows平台下,还可以从用户代理字符串中进一步取得具体的操作系统信息.在Windows XP之前,Windows有两种版本,分别针对家庭用户和商业用户.针对家 ...
最新文章
- 在asp.net中解决cookies中文乱码问题
- STM32的晶振脚(OSCIN和OSCOUT)当成普通IO来使用
- 第七篇T语言实例开发,文本与程序的几种打开方法(版5.3)
- pwn学习总结(三) —— 栈溢出经典题型整理
- 【线性回归】面向新手的基础知识
- 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
- 超实用的脚本——检查oracle数据库是否存在潜伏的比特币勒索病毒
- linux jdk路径
- 阿里云商标注册服务及常见问题
- 2021-01-21
- 利用project编制进度计划
- 使用NATAPP内网穿透
- FFmpeg mxf扩展hdr、bt2020
- teraterm 执行sql命令_Tera Term怎么安装?Tera Term安装使用详细图文教程
- OSF Jonathan Bryce:Open Infrastructure开启开放协作新时代
- TCP扫描增强器实现65000端口,10S完成,快准狠(Go语言编程)
- bzoj1022 小约翰的游戏 anti-SG游戏
- 数据库---- 增删改查
- MySQL-mysql安装步骤
- android手机照片恢复,安卓手机照片怎么恢复?简单恢复方法分享