转:为什么浏览器的user-agent字符串以'Mozilla'开头呢?
本文转自:https://blog.csdn.net/S_gy_Zetrov/article/details/79463093 感谢sgyzetrov翻译
如果熟悉元素审查的童鞋,很多都会发现request headers中的user-agent基本都是以‘Mozilla’开头的
如我把博客编辑器元素审查一下,发现:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6
那么,这到底是怎么回事呢?是与火狐有什么关系么?原来,最早流行的浏览器是 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,就发送框架,如果不是就不发送,俗称“看人下菜碟“。
而后M$(微软)开发了 IE,微软希望它成为 Netscape Killer,IE 也支持框架,但由于它不是 Mozilla,所以网站没有向它发送框架。微软十分不爽,也并没有耐心等待网站修改用户代理嗅探(User Agent sniffing)去支持IE,而是声称它兼容于 Mozilla,因此IE冒充 Netscape 称自己为:
Mozilla/1.22 (compatible; MSIE 2.0; Windows 95)
骗过了网站得以收到网站发送的框架。由于IE根植于遍地都是的Windows系统,于是第一次浏览器战争以 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,因此用户代理嗅探(User Agent sniffing)又出现了,网站在检测到 Gecko 后会提供更好的页面代码。Linux 上的浏览器 Konqueror 使用的渲染引擎是 KHTM,它只能冒充Gecko 称自己为:
Mozilla/5.0 (compatible; Konqueror/3.2; FreeBSD) (KHTML, like Gecko)
Opera 则提供了选项,让用户想冒充哪个浏览器就冒充哪个浏览器。Apple 后来创建了 KHTML 的一个分支 WebKit,称自己为:
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; de-de) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5
这就是为什么浏览器的用户代理字符串以 Mozilla 开头。
转:为什么浏览器的user-agent字符串以'Mozilla'开头呢?的更多相关文章
- User Agent字符串列表
User Agent字符串列表 --之心 User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA.它是一个特殊字符串头,是一种向访问网站提供 ...
- 微信内置浏览器的 User Agent的判断
如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是: Mozilla/5.0 (iPhone; CPU ...
- 如何获取浏览器URL中查询字符串的参数
首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主 ...
- 如何判断微信内置浏览器(通过User Agent实现)
在进行微信公众账号开发的时候,其中很大一块是微站点的开发,我们需要知道当前的浏览器是微信内置的浏览器,那么如何判断呢? 微信内置浏览器的 User Agent 如何判断微信内置浏览器,首先需要获取微信 ...
- 如何修改IE浏览器的User-Agent用户代理字符串信息
每款浏览器都有一个专属的 User-Agent 字符串信息, 通过 User-Agent 网站可以检测用户所使用的浏览器版本.某些网站为了让用户获得更好的浏览体验,通过检测用户的浏览器版本,以确认用户 ...
- JS获取浏览器URL中查询字符串的参数
首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主 ...
- 如何获取浏览器URL中查询字符串的参数?
如何获取浏览器URL中查询字符串的参数? 想要知道怎样解决这个问题,首先我们先认识一下Location对象. Location对象包含了当前页面与位置(url)相关的信息 URL示例:http://w ...
- 如何用js获取浏览器URL中查询字符串的参数
首先要知道Location这个对象以及这个对象中的一些属性: href:设置或返回完整的url.如本博客首页返回http://www.cnblogs.com/wymninja/ host:设置或返回主 ...
- 浏览器 User Agent字符串列表
http://www.73207.com/useragent/ http://www.73207.com/useragent/pages/internet-2520explorer/index.htm ...
随机推荐
- php抽奖程序
//php概率抽奖算法 1.获取总的概率数 2.随机从1到总概率数 3.判断获取的随机数是否在小于等于(就是你随机的数是否在数组值得范围中比如数组为array(1,2,3,4,5,6)则随机出了一个数 ...
- HTTPDNS开源 Android SDK,赋能更多开发者参与共建
为赋能更多开发者参与共建,阿里云HTTPDNS开源 Android SDK,iOS SDK也在做开源准备,不久也将开放给开发者.HTTPDNS是阿里云移动研发平台面向多端应用(移动端APP,PC客户端 ...
- Windows窗口置顶工具 简简单单 - 快快乐乐
Windows窗口置顶工具 简简单单 - 快快乐乐 JERRY_Z. ~ 2020 / 11 / 12 转载请注明出处!️ 目录 Windows窗口置顶工具 简简单单 - 快快乐乐 一.官网下载Des ...
- linux 异步I/O 信号
if (ioctl(ngx_processes[s].channel[0], FIOASYNC, &on) == -1) { ngx_log_error(NGX_LOG_ALERT, cycl ...
- Python_教程_使用Visual Studio Code开发Django项目
如何获得 Visual Studio Code 访问 http://code.visualstudio.com 下载并安装. 前提条件 安装Python 2.7 及 Python 3.5,Window ...
- 缩点Tarjan算法解析+[题解]受欢迎的牛
(注:我在网上找了一些图,希望原博主不要在意,谢谢,(。☉౪ ⊙。)) 首先来了解什么是强连通分量 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向 ...
- sync_with_stdio(false)和cin.tie(NULL)
std::ios::sync_with_stdio(false) 这个函数相当于是否兼容stdio的开关,默认为true C++为了兼容C,保证程序在使用了std::printf和std::cout的 ...
- 【网鼎杯2020朱雀组】Web WriteUp
nmap nmap语法,很简单. 127.0.0.1' -iL /flag -oN vege.txt ' phpweb 打开,抓包,发现可以传递函数和其参数 试了一下很多函数都被过滤了,不能执行系统命 ...
- Linux学习 - 02 使用 - Centos8 - 『更换rpm/epel包源为国内源』
1. Centos8 - 『更换rpm/epel包源为国内源』 centos 8 默认是会读取centos.org的mirrorlist的,所以一般来说是不需要配置镜像的. 如果你的网络访问mirro ...
- MathType输入矩阵和行列式的技巧
高等代数里,经常要使用到矩阵和行列式,尤其是在写论文时,如何编辑矩阵和行列式呢?比较好的方法就是使用专业的公式编辑器MathType进行编辑,下面就一起来学习具体的编辑技巧. 具体步骤如下: 步骤一 ...