Chrome 91 发布

谷歌发布了Chrome 91网络浏览器,同时作为Chrome基础的免费Chromium项目也发布了稳定版本。 Chrome 浏览器的特点是使用 Google 徽标、崩溃时发送通知的系统、播放受保护视频内容 (DRM) 的模块、自动安装更新的系统以及搜索时传输 RLZ 参数。 Chrome 92 的下一个版本计划于 20 月 XNUMX 日发布。

Chrome 91 的主要变化:

  • 实现了在折叠选项卡组中停止 JavaScript 执行的功能。 Chrome 85 引入了对将选项卡组织为可与特定颜色和标签关联的组的支持。 当您单击某个组标签时,与其关联的选项卡将折叠,并保留一个标签(再次单击该标签将打开该组)。 在新版本中,为了减少 CPU 负载并节省能源,最小化选项卡中的活动已暂停。 仅播放声音、使用 Web Locks 或 IndexedDB API、连接到 USB 设备或捕获视频、声音或窗口内容的选项卡例外。 该更改将从一小部分用户开始逐步推出。
  • 包括对可抵抗量子计算机上的暴力破解的密钥协商方法的支持。 量子计算机在解决将自然数分解为质因数的问题方面要快得多,这是现代非对称加密算法的基础,并且无法在经典处理器上有效解决。 为了在 TLSv1.3 中使用,提供了 CECPQ2(组合椭圆曲线和后量子 2)插件,将经典的 X25519 密钥交换机制与基于 NTRU Prime 算法的 HRSS 方案相结合,专为后量子密码系统设计。
  • 对 TLS 1.0 和 TLS 1.1 协议的支持已完全停止,这些协议已被 IETF(互联网工程任务组)委员会废弃。 包括通过更改 SSLVersionMin 策略返回 TLS 1.0/1.1 的可能性已被删除。
  • Linux 平台的程序集包括使用“DNS over HTTPS”(DoH,DNS over HTTPS)模式,该模式之前曾为 Windows、macOS、ChromeOS 和 Android 用户提供。 对于设置指定支持此技术的 DNS 提供商的用户,将自动激活 DNS-over-HTTPS(对于 DNS-over-HTTPS,使用与 DNS 相同的提供商)。 例如,如果用户在系统设置中指定了 DNS 8.8.8.8,则 Chrome 中将激活 Google 的 DNS-over-HTTPS 服务(“https://dns.google.com/dns-query”)是 1.1.1.1 ,然后是 DNS-over-HTTPS 服务 Cloudflare (“https://cloudflare-dns.com/dns-query”),等等。
  • Amanda backup 和 VMWare vCenter 中使用的端口 10080 已添加到禁止的网络端口列表中。 此前,69、137、161、554、1719、1720、1723、5060、5061、6566端口已被封锁,对于黑名单上的端口,将阻止发送HTTP、HTTPS和FTP请求,以防止NAT滑流攻击,当在浏览器中打开攻击者专门准备的网页时,它允许建立从攻击者服务器到用户系统上的任何 UDP 或 TCP 端口的网络连接,尽管使用内部地址范围(192.168.xx,10 .xxx)。
  • 可以配置当用户登录系统(Windows 和 macOS)时自动启动独立 Web 应用程序(PWA - 渐进式 Web 应用程序)。 自动运行是在 chrome://apps 页面上配置的。 该功能目前正在一小部分用户身上进行测试,其余用户需要激活“chrome://flags/#enable-desktop-pwas-run-on-os-login”设置。
  • 作为移动浏览器使用包容性术语工作的一部分,“master_preferences”文件已重命名为“initial_preferences”。 为了保持兼容性,对“master_preferences”的支持将在浏览器中保留一段时间。 此前,浏览器已经摆脱了“白名单”、“黑名单”和“本机”等词的使用。
  • 增强型安全浏览模式可以激活额外的检查以防止网络钓鱼、恶意活动和其他网络威胁,包括发送下载的文件以在 Google 端进行扫描的功能。 此外,增强安全浏览功能在识别网络钓鱼尝试时对与 Google 帐户绑定的令牌进行会计处理,并将 Referrer 标头值发送到 Google 服务器以检查是否来自恶意站点的转发。
  • 在Android平台版本中,改进了Web表单元素的设计,针对触摸屏和残疾人系统进行了优化(对于桌面系统,在Chrome 83中重新设计了设计)。 返工的目的是统一表单元素的设计,消除风格不一致的情况——之前,有些表单元素是按照操作系统界面元素设计的,有些是按照最流行的风格设计的。 因此,不同的元素对于残疾人的触摸屏和系统有不同的适用性。
    Chrome 91 发布Chrome 91 发布
  • 添加了打开 Privacy Sandbox 设置 (chrome://settings/privacySandbox) 时显示的用户民意调查。
  • 在大屏幕平板电脑上运行 Android 版本的 Chrome 时,会请求网站的桌面版本,而不是移动设备版本。 您可以使用“chrome://flags/#request-desktop-site-for-tablets”设置更改行为。
  • 渲染表格的代码已经过重新设计,这使我们能够解决在 Chrome 和 Firefox/Safari 中显示表格时行为不一致的问题。
  • 由于自 2017 年以来屡屡发生涉及证书颁发违规的事件,西班牙认证机构 Camerfirma 的服务器证书处理已停止。 保留对客户端证书的支持;阻止仅适用于 HTTPS 站点上使用的证书。
  • 我们继续实施对网络分段的支持,以防止基于在不打算永久存储信息的区域中存储标识符(“Supercookies”)来跟踪站点之间的用户移动的方法。 由于缓存的资源存储在公共命名空间中,无论原始域如何,一个站点都可以通过检查该资源是否在缓存中来确定另一个站点正在加载资源。 这种保护基于网络分段(网络分区)的使用,其本质是在共享缓存中添加额外的记录与打开主页的域的绑定,这限制了仅针对移动跟踪脚本的缓存覆盖范围到当前站点(iframe 中的脚本将无法检查资源是否是从其他站点下载的)。

    分段的代价是缓存效率降低,导致页面加载时间略有增加(最多增加 1.32%,但对于 80% 的网站增加 0.09-0.75%)。 要测试分段模式,您可以使用选项“—enable-features=PartitionConnectionsByNetworkIsolationKey、PartitionExpectCTStateByNetworkIsolationKey、PartitionHttpServerPropertiesByNetworkIsolationKey、PartitionNelAndReportingByNetworkIsolationKey、PartitionSSLSessionsByNetworkIsolationKey、SplitHostCacheB yNetworkIsolationKey”运行浏览器。

  • 新增外部 REST API VersionHistory(https://versionhistory.googleapis.com/v1/chrome),通过它可以获取与平台和分支相关的 Chrome 版本信息,以及浏览器更新历史记录。
  • 在从基页域以外的域加载的 iframe 中,禁止显示 JavaScript 对话框alert()、confirm() 和prompt(),这将保护用户免受第三方脚本尝试在该页面下显示消息的影响。假装该通知是由主站点显示的。
  • WebAssembly SIMD API 已经稳定并默认提供,以便在 WebAssembly 格式的应用程序中使用矢量 SIMD 指令。 为了确保平台独立性,它提供了一种新的 128 位类型,可以表示不同类型的打包数据,以及用于处理打包数据的几种基本向量运算。 SIMD 允许您通过并行数据处理来提高生产力,并且在将本机代码编译到 WebAssembly 时非常有用。
  • 几个新的 API 已添加到 Origin Trials 模式(需要单独激活的实验性功能)。 Origin 试用意味着能够使用从本地主机或 127.0.0.1 下载的应用程序中的指定 API,或者在注册并接收对特定站点在有限时间内有效的特殊令牌之后。
    • WebTransport 是一种协议和随附的 JavaScript API,用于在浏览器和服务器之间发送和接收数据。 通信通道在 HTTP/3 之上组织,使用 QUIC 协议作为传输,而 QUIC 协议又是 UDP 协议的附加组件,支持多个连接的复用并提供与 TLS/SSL 等效的加密方法。

      WebTransport 可以用来代替 WebSockets 和 RTCDataChannel 机制,提供额外的功能,例如多流传输、单向流、乱序交付、可靠和不可靠的交付模式。 另外,可以使用WebTransport来代替Google在Chrome中放弃的Server Push机制。

    • 用于定义独立 Web 应用程序 (PWA) 链接的声明性接口,使用 Web 应用程序清单中的 capture_links 参数启用,并允许网站在单击应用程序链接或切换到单窗口模式时自动打开新的 PWA 窗口,类似于移动应用程序。
    • 添加了 WebXR 平面检测 API,它提供有关虚拟 3D 环境中平面的信息。 指定的 API 可以使用计算机视觉算法的专有实现来避免对通过调用 MediaDevices.getUserMedia() 获得的数据进行资源密集型处理。 让我们提醒您,WebXR API 允许您统一使用各种类型的虚拟现实设备,从固定 3D 头盔到基于移动设备的解决方案。
  • 已经实现了对基于 HTTP/2 (RFC 8441) 的 WebSocket 的支持,该支持仅对 WebSocket 的安全请求以及已与服务器建立 HTTP/2 连接的情况有效,该连接宣布支持“基于 HTTP/2 的 WebSocket” HTTP/XNUMX”扩展名。
  • 通过调用 Performance.now() 生成的计时器值的精度限制在所有支持的平台上都是一致的,并适应在单独进程中隔离处理程序的可能性。 例如,在桌面系统上,在非隔离上下文中处理时的精度已从 5 微秒降低到 100 微秒。
  • 桌面版本现在包括从剪贴板读取文件的功能(仍然禁止将文件写入剪贴板)。 异步函数 onPaste(e) { let file = e.clipboardData.files[0]; 让内容=等待文件.text(); }
  • CSS 实现了 @counter-style 规则,它允许您为编号列表中的计数器和标签定义自己的样式。
  • CSS 伪类“:host()”和“:host-context()”添加了传递复合选择器单个值的功能( )除了选择器列表( )。
  • 添加了 GravitySensor 接口,用于确定来自重力传感器的体积(三个坐标轴)数据。
  • 文件系统访问 API 提供了定义建议的功能,用于选择用于创建或打开文件的对话框中提供的文件名和目录。
  • 如果用户授予适当的权限,则允许从其他域加载的 iframe 访问 WebOTP API。 WebOTP 允许您读取通过短信发送的一次性验证码。
  • 允许共享对使用 DAL(数字资产链接)机制链接的站点的凭据的访问权限,这允许 Android 应用程序与站点关联以简化登录。
  • Service Worker 允许使用 JavaScript 模块。 当您在调用构造函数时指定“模块”类型时,指定的脚本将以模块的形式加载,并可在工作上下文中导入。 模块支持使跨网页和服务工作者共享代码变得容易。
  • JavaScript 提供了使用“#foo in obj”语法检查对象中是否存在私有字段的功能。 类A { 静态测试(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // 错误的
  • 默认情况下,JavaScript 允许在顶层模块中使用await 关键字,这使得异步调用能够更顺利地集成到模块加载过程中,并避免将它们包装在“异步函数”中。 例如,而不是 (async function() { wait Promise.resolve(console.log('test')); }()); 现在你可以写await Promise.resolve(console.log('test'));
  • V8 JavaScript引擎提高了模板缓存的效率,使Speedometer4.5-FlightJS测试的通过速度提高了2%。
  • 针对 Web 开发人员的工具进行了大量改进。 添加了新的内存检查器模式,提供用于检查 ArrayBuffer 数据和 Wasm 内存的工具。
    Chrome 91 发布

    性能面板中添加了汇总性能指标,可以让您判断网站是否需要优化。

    Chrome 91 发布

    “元素”面板和“网络分析”面板中的图像预览提供有关图像的纵横比、渲染选项和文件大小的信息。

    Chrome 91 发布

    在网络检查面板中,现在可以更改 Content-Encoding 标头的接受值。

    Chrome 91 发布

    现在,在样式面板中,通过在上下文菜单中选择“查看计算值”,您可以在浏览 CSS 参数时快速查看计算值。

    Chrome 91 发布

除了创新和错误修复之外,新版本还消除了 32 个漏洞。 许多漏洞是通过使用 AddressSanitizer、MemorySanitizer、控制流完整性、LibFuzzer 和 AFL 工具进行自动化测试而发现的。 目前还没有发现任何严重问题可以让人们绕过所有级别的浏览器保护并在沙箱环境之外的系统上执行代码。 作为为当前版本的漏洞提供现金奖励的计划的一部分,Google 支付了 21 个价值 92000 美元的奖项(20000 个 15000 美元奖励,7500 个 5000 美元奖励,3000 个 1000 美元奖励,500 个 5 美元奖励,XNUMX 个 XNUMX 美元奖励,XNUMX 个 XNUMX 美元奖励,XNUMX 个 XNUMX 美元奖励。 XNUMX 美元)。 XNUMX 项奖励的金额尚未确定。

来源: opennet.ru

添加评论