浏览器内核

1. 常用浏览器

  • 浏览器是网页运行的平台
  • 常用浏览器:
    IE
    火狐(Firefox)
    谷歌(chrome)
    Safari
    Opera
    Edge

2. 内核

浏览器内核可分为两部分:

  • 渲染引擎(layout engineer 或者 Reading Engine):负责取得网页的内容(Html、Xml、图像等等)、整理讯息、计算网页的显示方式,然后输出至显示器或打印机。
  • Js引擎:解析JavaScript语言,执行JavaScript语言来实现网页的动态效果

:不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,所以网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

3. 内核分类

3.1 Trident(IE内核)

  • Trident,是微软开发的一种排版引擎、是一款开放的内核。IE内核无法在windows操作系统之外的其他操作系统上使用,不能跨平台使用。
  • 国内很多双核浏览器其中一核便是Trident。
  • Windows10发布之后,IE将其内置浏览器命名为Edge,Edge最显著的特点就是新内核EdgeHTML

Trident内核的常见浏览器:
IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)
UC浏览器(Webkit内核+Trident内核)等

3.2 Gecko

  • Gecko的代码完全公开、可开发程度很高,开源内核,跨平台内核,可以在Windows、 BSD、Linux和Mac OS X中使用。

Gecko内核的常见浏览器:
Netscape6开始采用的内核
Mozilla FireFox(火狐浏览器) 也采用了该内核

3.3 Presto

  • Presto引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。动态内核,与前面几个内核的最大的区别就在脚本处理上,该内核在执行Javascrīpt的时候有着最快的速度。

  • Presto(Opera前内核) (已废弃)
    Opera12.17及更早版本曾经采用的内核,现已停止开发并废弃,该内核在2003年的Opera7中首次被使用

  • Opera现已改用Google Chrome的Blink内核

3.4 Webkit

  • Webkit(Safari内核,Chrome内核原型,开源):它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。

Webkit的常用浏览器
Safari是苹果公司开发的浏览器,所用浏览器内核是Webkit

WebKit 内核在手机上的应用:例如 Google 的手机 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 WebKit。

3.5 Blink

Blink是一个由Google和Opera Software开发的浏览器排版引擎,Google计划将这个渲染引擎作为Chromium计划的一部分,并且在2013年4月的时候公布了这一消息。这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。

谷歌转向研发Blink浏览器内核意义重大,谷歌此举欲降低Webkit即苹果在浏览器市场的影响力。

4.浏览器以及内核发展史

1990年,Tim Berners-Lee 蒂姆·伯纳斯·李发明了万维网(WorldWideWeb),同时,用object-c开发出了历史上第一个浏览器WorldWideWeb后改名为Nexus——只能显示文本信息,只能在NeXT系统上运行后来苹果将Next收购,Next系统成为macOS的基础。

1991年,Tim Berners-Lee 蒂姆·伯纳斯·李用C语言重新写了再NeXt上运行万维网的各种组件-Libwww,组件自带史上第二个浏览器Line Mode Browser——只能显示文本信息可被移植到不同操作系统的浏览器。

1993年,伊利诺伊大学的NCSA(美国国家超级计算应用中心)发布第一款可以显示图像的浏览器-Mosaic

1994年,Mosaic团队领导人创业建立Netscape(网景公司),发布网景浏览器。之后在1995年被AOL(美国在线)收购。

1995年,微软收购Spyglass公司,此公司从NCSA处买了Mosaic的授权,基于此直接开发,发布IEl浏览器 1.0

1995年-1997年,两年时间从IE 1.0更新到IE 4.0,推出Trident内核,IE直接集成到Windows里,用户开机就能使用。

1996年,Opera浏览器发布

1998年,网景公司开放自己的源代码,并发布了Gecko内核
2002年,原网景公司大神加入Mozilla组织继续Gecko内核的开发工作,开发出Phoenix浏览器,后来改名为Firefox(火狐浏览器)

2003年,Opera发布了Opera7.0,带来了Presto内核

2003年,苹果发布Safair浏览器
2005年,苹果开源了Safair的内核——Webkit内核

Chrome早期使用Webkit内核,后来基于WebKit内核开发出 Blink内核
并且开源了一个浏览器项目Chromium,目前几乎所有浏览器都是基于Chromium的套壳再创造。

2015年,微软极致优化IE内核,并改名为EdgeHTML随win10发布
2020年,微软发布全新Edge

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Java中获取浏览器内核可以通过以下方式实现: 1. 使用User-Agent:可以通过获取客户端的User-Agent信息,从中提取浏览器名称和版本号来判断浏览器内核。通常,在User-Agent字符串中会包含浏览器的标识符和内核的版本信息。 2. 使用第三方库:可以使用第三方库来获取浏览器内核的相关信息。例如,可以使用库如"BrowserDetector"或"BrowserLauncher2"来获取浏览器的相关信息,包括内核信息。 3. 解析HTTP请求头:可以通过解析HTTP请求头中的"User-Agent"字段来获取浏览器内核的相关信息。使用Java的HTTP请求库,可以获取请求头的所有字段值,然后从中提取出浏览器内核的信息。 需要注意的是,以上方法都是基于浏览器发送的HTTP请求头中的User-Agent字段来判断浏览器内核,但是由于User-Agent可以被客户端篡改,所以无法保证100%准确性。此外,不同浏览器会使用不同的内核,因此在判断浏览器内核时应考虑到各种可能性。 ### 回答2: 要获取浏览器内核,可以使用Java中的User-Agent属性。User-Agent是浏览器发送给服务器的一个HTTP头部字段,用来标识浏览器和操作系统的信息。通过解析User-Agent,我们可以获取浏览器的内核信息。 在Java中,可以使用HttpServletRequest对象来获取User-Agent属性。首先,需要通过请求对象获取User-Agent属性的值,代码如下: ``` String userAgent = request.getHeader("User-Agent"); ``` 然后,我们可以通过正则表达式或其他方法来解析User-Agent,获取浏览器内核的信息。以下是一些常见浏览器内核的识别方法: 1. Trident内核(IE):匹配字符串"Trident"或"MSIE" 2. Gecko内核(Firefox):匹配字符串"Gecko"和"Firefox" 3. Webkit内核(Chrome、Safari):匹配字符串"Webkit"和"Chrome"或"Safari" 4. Presto内核(Opera):匹配字符串"Presto"或"Opera" 根据不同的内核,我们可以采取不同的处理逻辑。例如,根据内核选择使用特定的CSS样式或JavaScript代码。 综上所述,通过解析User-Agent属性,我们可以获取浏览器的内核信息,并根据不同的内核进行相应的处理。 ### 回答3: 要获取浏览器内核,我们可以使用Java编写一个简单的程序。首先,我们需要通过Java的网络编程功能,连接到目标网站,并获取目标网站的响应。 我们可以使用Java的URL类来创建一个URL对象,然后使用URLConnection类的openConnection()方法来打开与目标网站的连接。接下来,我们可以使用URLConnection对象的getInputStream()方法获取与目标网站的输入流。 要获取浏览器内核,我们可以检查目标网站的响应中的“User-Agent”标头。因为浏览器在发送HTTP请求时通常会在“User-Agent”标头中包含浏览器内核的信息。 可以通过URLConnection对象的getHeaderField()或getHeaderFieldKey()方法来获取“User-Agent”标头的值。我们可以通过判断此值是否包含特定的浏览器内核来确定浏览器内核。 例如,如果目标网站的响应中的“User-Agent”标头包含“WebKit”字符串,则可以判断该浏览器内核为Webkit内核。同样地,如果包含“Trident”字符串,则判断为Trident内核;如果包含“Gecko”字符串,则判断为Gecko内核。 最后,我们可以通过打印相应的信息来展示浏览器内核。 总之,使用Java编写的程序可以通过获取目标网站的响应,并检查其中的“User-Agent”标头信息,以获取浏览器内核的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南栀~zmt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值