Chrome 和 Chromium 的异同

=Start=

缘由:

前段时间在调研Chromium时总结整理的一些内容,在此记录一下,方便查阅和参考。

正文:

参考解答:

直接以表格形式展现,方便对比查看:


比较项
Chrome Chromium
是否开源 代码闭源,但提供免费下载和使用(free to download and use, but you cannot decompile, reverse engineer, or use the source code to build another program 代码开源,且支持自定义修改anyone can take and modify the source code however they please
应用图标 彩色 天蓝色
音视频解码 支持广泛(AAC, H.264, MP3, Opus, Theora, Vorbis, VP8, VP9, and WAV) 默认不支持闭源的音视频解码方式(AAC, H.264, MP3),但可以通过编译选项开启
安装方式 安装包方式安装 免安装,下载解压缩后即可使用
是否支持自动更新 支持自动更新 不支持
更新频率 正式版更新较慢(因为有稳定性方面的考虑) 更新频繁,新功能会先在Chromium上推出(更像是Chrome的新功能试验基地)
数据收集 会追踪一些使用信息 不追踪
Flash支持 默认支持(在76及其之后版本,默认关闭) 默认不支持
Google API keys 由Google添加 默认没有
Extension限制 默认需要重Chrome应用商店下载安装 无限制
安全沙盒 默认开启 默认不开启

以上就是它们两者之间的主要不同点。

参考链接:

Google Chrome version history
https://en.wikipedia.org/wiki/Google_Chrome_version_history

Chrome Release
https://chromereleases.googleblog.com/

Google Chrome 博客
https://blog.google/products/chrome/

下载 Chrome 浏览器
https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg
https://cloud.google.com/chrome-enterprise/browser/download/

The Chromium Projects
https://www.chromium.org/
https://www.chromium.org/developers/version-numbers
https://chromium.googlesource.com/chromium/

Chromium 博客
https://blog.chromium.org/

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4701.html

《Chrome 和 Chromium 的异同》上的17个想法

  1. 万字详文:深入理解浏览器原理
    https://zhuanlan.zhihu.com/p/96986818
    https://mp.weixin.qq.com/s/QqpPGWf3IVEDN1t80CZ06Q
    `
    导语:本文从市面主流的浏览器及相应的内核引擎开始,介绍了Chromium为代表的浏览器架构及Blink内核的功能架构。Chromium为多进程架构,用户从启动运行浏览器后,先后经过页面导航、渲染、资源加载、样式计算、布局、绘制、合成到栅格化,最后完成GPU展示。而页面渲染完成后,浏览器如何响应页面操作事件也进行了深入的介绍。良心推荐!

    本文第二至五部分内容根据 Mariko Kosaka 的英文原版《Inside look at modern web browser》(见参考文献),进行翻译、理解、总结提炼、条理化、加入应用示例、进行相关知识补充扩展而来。
    `

  2. https://zh.wikipedia.org/wiki/Google_Chrome
    https://zh.wikipedia.org/wiki/Chromium
    `
    Google Chrome相对于Chromium:

    图标:Chromium的是蓝色调,而Chrome的则是红、黄、绿
    Chromium 是开源软件,以BSD许可协议发布;Google Chrome则是闭源软件,不可修改再发布。
    Google Chrome 增加Google Update自动更新系统
    Google Chrome 增加自动发送使用统计数据及死机报告给Google的选项
    当Chrome用作市场推广及分销合作伙伴时会记录并发送用户记录,如:何时何处下载的信息。2010年6月,Google解释任一版本的Chromium或是从Google官方网站上下载的Chrome都不带有这一记录用户信息的功能。同时也公开了这些记录的源代码,以便开发者了解此功能是如何运作的。
    Chromium不包含Google API Key,导致部分功能仅Google Chrome能使用
    默认情况下,Chromium的HTML5播放器只支持Vorbis、Theora和WebM,而Google Chrome除了这些解码器外还支持AAC和MP3。2011年1月11日,Google Chrome的产品经理Mike Jazayeri宣布Chrome的HTML5播放器将和Chromium一样,不再支持H.264格式。但截至2012年4月,Chrome仍然支持H.264。有些Linux发行版本会向自定版Chromium增加对其他编解码器的支持。
    `

  3. 谷歌浏览器打开黑屏的最有效解决方法
    https://jingyan.baidu.com/article/6b18230908fa1cfa59e15900.html
    `
    1. 首先,要解决黑屏,才能打开浏览器,最后才可以禁用硬件加速!已经黑屏通过更改 快捷图标属性目标 地址,能够临时解决黑屏,正常进入浏览器。–disable-gpu –disable-software-rasterize粘贴复制到浏览器快捷图标 属性更改目标里,注意粘贴到原地址后面要先加一个空格(找到浏览器快捷图标,右键鼠标就可以更改目标了),然后应用,确认!这一步就可以临时正常打开浏览器了。

    2. 打开浏览器,最右上角点击,打开设置

    3. 找到系统,点开就可以看到:使用硬件加速模式 开关了

    4. 关闭后就可以正常使用浏览器了。
    `
    chrome里面设置里 使用硬件加速模式(如果可用) 要不要勾上?
    https://www.zhihu.com/question/60254110
    `
    不建议勾选。因为选后,播放视频可能会出现黑屏。
    `
    https://www.sysgeek.cn/chrome-hardware-acceleration/

  4. Chrome 80.0中将SameSite的默认值设为Lax,对现有的Cookie使用有什么影响?
    https://www.zhihu.com/question/373011996
    `
    要说哪些业务功能会到受影响,得先从技术上分析,得先知道 SameSite=Lax 会屏蔽掉那些类型的请求中带的第三方 Cookie。我在我 16 年写的 SameSite 科普文 https://www.cnblogs.com/ziyunfei/p/5637945.html 中已经总结出一个容易记忆的规则(但不完全对),那就是我们前端开发人员口中通常的“异步请求”会受到影响,即主要是 XHR/fetch()、、、 这些请求方式。
    `
    SameSite Cookie,防止 CSRF 攻击
    https://www.cnblogs.com/ziyunfei/p/5637945.html

  5. 深度解读浏览器全面禁用三方 Cookie
    https://mp.weixin.qq.com/s/izJ5fVpXuqSLFbMeuBlNfw
    `
    最近几大浏览器针对 Cookie 策略的频繁改动,意味着三方 Cookie 被全面禁用已经不远了:

    Firefox、Safari —— 默认禁用
    在 Safari 13.1、Firefox 79 版本中,三方 Cookie 已经被默认禁用,但是由于这些游览器市场份额较小,并没有给市场带来巨大的冲击。

    Chrome —— SameSite Cookie
    还好由于三方 Cookie 对 Google 的广告业务影响较大,所以其没有立即进行禁用,而是一直陆续修改一些小的策略来对三方 Cookie 进行限制,比如 SameSite 。
    SameSite 是 Chrome 51 版本为浏览器的 Cookie 新增的了一个属性, SameSite 阻止浏览器将此 Cookie 与跨站点请求一起发送。其主要目标是降低跨源信息泄漏的风险。同时也在一定程度上阻止了 CSRF 攻击。
    Chrome 也宣布,将在下个版本也就是 Chrome 83 版本,在访客模式下禁用三方 Cookie,在 2022 年全面禁用三方 Cookie,到时候,即使你能指定 SameSite 为 None 也没有意义,因为你已经无法写入第三方 Cookie 了。

    # 当三方 Cookie 被全面禁止
    前端日志异常
    智能广告推荐消失
    无法追踪转化率
    是好是坏?

    # 使用一方 Cookie 替代 三方 Cookie
    # 浏览器指纹
    `

  6. `
    samesite机制导致的cookie相关异常如何处理?

    1. 在地址栏中输入 chrome://flags/
    2. 页面内上方的搜索框输入:samesite
    3. 把【SameSite by default cookies、Enable removing SameSite=None cookies、Cookies without SameSite must be secure】三个栏目的右侧下拉选择为 “Disabled”,然后重启浏览器即可。
    `

  7. Mac 下chromium缺少Google API 密钥,因此 chromium的部分功能将无法使用
    https://blog.csdn.net/sinat_21302587/article/details/84960580

    set-up-chromium-keys.md
    https://gist.github.com/cvan/44a6d60457b20133191bd7b104f9dcc4
    `
    set 3 environment variables:

    On Windows: Launch cmd.exe and enter the following commands:

    setx GOOGLE_API_KEY your_key_goes_here
    setx GOOGLE_DEFAULT_CLIENT_ID your_client_id_goes_here
    setx GOOGLE_DEFAULT_CLIENT_SECRET your_client_secret_goes_here

    On Mac OS X / Linux: Plop these in your ~/.profile file:

    export GOOGLE_API_KEY=”your_key_goes_here”
    export GOOGLE_DEFAULT_CLIENT_ID=”your_client_id_goes_here”
    export GOOGLE_DEFAULT_CLIENT_SECRET=”your_client_secret_goes_here”
    `

  8. Some features of Chromium use Google APIs, and to access those APIs, either an API Key or a set of OAuth 2.0 tokens is required. Setting up API keys is optional. If you don’t do it, the specific APIs using Google services won’t work in your custom build, but all other features will run normally.
    http://www.chromium.org/developers/how-tos/api-keys
    `
    # Providing Keys at Build Time
    If you are building Chromium yourself, you can provide keys as part of your build configuration, that way they are always baked into your binary.

    Specify three variables in your args.gn file (which you can edit by running gn args out/your_out_dir_here)

    google_api_key = “your_api_key”
    google_default_client_id = “your_client_id”
    google_default_client_secret = “your_client_secret”

    # Providing Keys at Runtime

    If you prefer, you can build a Chromium binary (or use a pre-built Chromium binary) without API keys baked in, and instead provide them at runtime. To do so, set the environment variables GOOGLE_API_KEY, GOOGLE_DEFAULT_CLIENT_ID and GOOGLE_DEFAULT_CLIENT_SECRET to your “API key”, “Client ID” and “Client secret” values respectively.
    `

发表评论

电子邮件地址不会被公开。 必填项已用*标注