0

    小杰gm服插件(据报道称浏览器内核有上千万行代码)

    2023.11.26 | admin | 64次围观

    本文由世外云()小编为大家整理,本文主要介绍了关于据报道称浏览器内核有上千万行代码的相关知识,希望对你有一定的参考价值和帮助,记得关注和收藏网址哦!

    据报道称浏览器内核有上千万行代码?浏览器给我们呈现的是一个生动活泼、色彩斑斓、丰富多彩的网络世界。

    在我们看来浏览器的窗口界面好像是一个电子相框,呈现出一幅一幅画好的既定画面。

    实际上浏览器是将无数的代码转化、渲染成我们所看到的内容,当我们要在浏览器上看到如下图这样的红色框框时,代码需要对框框进行命名,还要对画框框的起点进行描点,然后根据长、宽、颜色等等数据对框框进行绘制。同样框框里面的文字具体要写在框框的那个位置也要进行描点。

    可想而知,浏览器在零点几秒的时间内要呈现出生动活泼、色彩斑斓、丰富多彩的页面并不是那么容易浏览器内核代码有多少行,这就好比你站在一幅画面前通过告诉你的朋友画上面的内容,然后要让他完美无差的呈现出来。

    我们打开一个网站的过程到底发生了什么?当我们在浏览器的地址栏中输入文字,并按回车键获得页面内容,分为以下几步:

    当浏览器的地址输入文字时,UI线程会判断用户输入的是网址URL还是查询query字段。当用户按下回车键,UI线程会通知网络线程获取网页的内容。

    网络线程会执行DNS查询(从域名服务器将域名解析为服务器IP地址),接着向服务器请求建立SSL/TLS连接。如果网络线程接收到了重定向请求头如301,网络线程会通知UI线程服务器要求重定向,另一个URL请求就会被触发。

    当请求响应返回时,网络线程会根据内容类型(Content-Type)及MIME类型嗅探判断响应内容的格式。

    比如:响应内容的格式是HTML,就会将数据传递给渲染进程;如果是下载文件(rar、zip),就会将数据传输给下载管理器。

    安全浏览检查在这个时候也会被触发,如果域名、请求内容匹配到恶意站点,网络线程就会展示一个警告页面,也不会将数据传递给渲染进程。

    当网络线程做完检查后就会告诉UI线程所有的数据已经准备好了,UI线程则会寻找渲染进程来渲染页面。

    渲染进程准备好后,浏览器进程就会将收到的响应数据流传递给对应的渲染进程让它继续接收到来的HTML数据,这时加载页面就正式开始了,导航栏会被更新,安全指示符和站点设置UI就会展示线页面相关的站点信息。同时Tab的会话历史也会被更新,这样再点前进和后退才能起作用。

    渲染进程主要是将HTML、CSS、以及JavaScript转变为我们可以进行交互的网页内容。所有的这一些列的过程的背后其实都有CPU和GPU在后面进行支撑浏览器内核代码有多少行,当然也少不操作系统提供的机制才能在CPU和在GPU上运行。

    构建一个浏览器内核的成本堪比芯片制造。比如谷歌打造的Chrome浏览器内核Chromium,最初部署了1000人进行开发,代码量达到了2400万行,几乎是一个操作系统的一半大小。该项目开发耗资数百亿美元。

    其实铬含有很多东西。如果每一本都单独展开,就是一本厚厚的参考书。比如网络库包括主机解析、cookies、网络变化检测、SSL、资源缓存、FTP、HTTP、OCSP实现、SOCKS和HTTP代理配置、解析、脚本获取、QUIC等等。

    那个 s为什么比微软更强的存在也放弃维护自己的IE浏览器内核,因为投入太恐怖而转向开源Chromium。

    Chromium是一个开源项目,但不是每个人都有能力改变它。Chromium号称模块化,高内聚,低耦合。即使你想删除一点点代码,它 很难找到精力删除一些不必要的功能或添加功能。

    以上个人拙见,欢迎批评指正。

    我同意你的观点。走之前请给我一个赞。谢谢大家!

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论