Chrome 开发者峰会 - 开放网络平台摘要

作者:Greg Simon 和 Eric Seidel

Blink 是 Chrome 的开源渲染引擎。Blink 团队致力于推动 Web 技术的发展,并解决开发者遇到的问题。

自 4 月发布以来,我们已在后台进行了许多改进。

首先,我们删除了我们不需要的一半源代码。我们还没有完成!我们并非盲目执行此操作:代码移除是根据选择启用报告功能的 Chrome 用户匿名报告的汇总统计信息来执行的。

我们每 6 周发布一次新的开发者 API,与 Chrome 的发布时间表相同。

从 Blink 分叉后,我们做出的一项重大变更是添加了 intent 系统:每当我们要更改 Web 平台时,都会向 Blink 开发者发送公开通知,告知我们打算添加或移除某项功能。然后,我们开始编码!功能签入后的第二天,它就已经在我们的 Canary build 中发布了。此功能默认处于关闭状态,但您可以使用 about:flags 将其开启。

然后,我们会在公开邮寄名单中宣布发货意向

chromestatus.com 上,您可以查看我们正在开发的功能、已发布的功能以及计划废弃的功能。您还可以查看 Chromium 版本博客,其中包含指向 bug 和跟踪器信息中心的链接。

另一项重大变更是,我们将移除 WebKit 前缀。目的不是使用 Blink 前缀,而是使用运行时标志(而不仅仅是编译时标志)。

Android WebView 一直是一项巨大的挑战,但 HTML5Test 显示情况正在好转。在 Web 平台 API 的使用方面,我们与桌面平台的差距已经大大缩小(Web Audio 就是一个很好的例子!)

但香肠机是如何运作的?我们对 Blink 所做的每项更改都会立即通过 3 万多项测试,更不用说之后运行的所有 Chromium 测试了。我们会全天候进行监控,使用数千个漫游器、数千个基准测试和系统向我们的引擎投放数百万个损坏的网页,以确保引擎不会崩溃。我们知道移动设备的速度明显较慢,正在努力改进这一点。

那么,有什么新变化呢?

  • Web 组件:请观看 Eric Bidelman 的演讲!
  • Web 动画:复杂、同步、高性能的动画,会尽可能使用 GPU
  • 部分布局:仅计算您需要的内容!
  • CSS 网格
  • 自适应图片 srcset、srcN 或 ?
  • 更快的文本自动调整功能和一致的亚像素字体
  • Blink 使用的图形系统 Skia 将从 Windows 上的 GDI 迁移到 DirectWrite

我们希望了解您的想法!

如果您热爱 C++ 并希望与我们一起编写 C++ 代码,请随时使用我们的所有开源代码。您无需告诉任何人,也不必向我们宣传。您只需发布补丁或提交 bug 即可!

幻灯片闪烁

安全

作者:Parisa Tabriz

如今,有史以来有更多人连接到互联网,而且他们来自更多地方。

我们可以连接笔记本电脑、手机和平板电脑,很快也许还能连接个人设备和配件。我们通过不可信的网络(有时甚至是恶意网络)访问互联网。随着我们生活中的方方面面向网络转移,我们必须采取措施来保护我们自己的数据和用户数据。

最重要的是,作为开发者,我们需要了解 SSL 的必要性和实用性。

什么是 SSL?它是“Secure Sockets Layer”(安全套接字层)的首字母缩写,是一种加密协议,旨在通过互联网提供通信安全。它通过加密和完整性来保障隐私,防止他人窥探或篡改您的互联网连接。SSL 有其缺点,但它是确保互联网上任何类型的数据通信安全的主流方式(实际上是唯一的方式)。

根据 SSL Pulse 的数据,一年前的 SSL 采用率仅略低于 15%;现在,采用率已超过 50%。

两个缩写词:

  • TLS:在大多数情况下,与 SSL 相同。确切地说,SSL 3.1 已重命名为 TLS,TLS 是 IETF 标准名称。但它们可以互换!

  • HTTPS:这是通过 SSL 的 HTTP,只是将 SSL 和标准 HTTP 的安全功能分层叠加。首先是客户端-服务器握手,使用公钥/私钥加密来创建共享密钥,SSL 协议的第二部分会使用该密钥来加密通信。

在互联网上结识朋友可能感觉安全、即时且快速。感觉就像直接在与网站对话。但实际上,这并不是直接连接。我们的通信会通过 Wi-Fi 路由器、互联网服务提供商 (ISP) 以及可能位于您的设备和网站之间的其他中间代理进行。如果不使用 HTTPS,我们的所有通信都是明文。

问题在于,用户很少输入指定 HTTPS 的完整网址,或者点击使用 HTTP 的链接。更糟糕的是,攻击者可能会发起中间人攻击,并将 HTTPS 替换为 HTTP。2009 年推出的 SSLstrip 工具正好可以执行此操作。2010 年推出的 Firesheep 只是监听开放的 Wi-Fi 网络,以便发现明文发送的 Cookie:这意味着,您可以监听聊天内容,或登录他人的 Facebook 账号。

不过,SSL(相对而言)价格低廉、部署快速且简单(请参阅 ssllabs.com 和 Ilya Grigorik 的《高性能浏览器网络》一书)。公钥固定旨在为网站运营商提供一种限制哪些证书授权机构实际上可以为其网站颁发证书的方法。

“今年 1 月(2010 年),Gmail 默认改为使用 HTTPS 进行所有通信。为此,我们无需部署额外的机器和特殊硬件。在我们的生产前端机器上,SSL 占 CPU 负载的比例不到 1%,每个连接的内存用量不到 10 KB,网络开销不到 2%…

如果您现在停止阅读,只需记住一件事:SSL 不再需要大量计算。”

超频 SSL,Adam Langley(Google)

最后,我们来看看最常见的几个 bug:

  • 混合内容:同时使用 HTTP 和 HTTPS 的网站。用户必须点击权限按钮才能加载内容,这会让他们感到不快。(Chrome 和 Firefox 实际上会禁止在 iframe 中使用混合内容。)使用相对网址或相对协议网址(例如 <style src="//foo.com/style.css">)确保 HTTPS 网页上的所有资源均通过 HTTPS 加载
  • 不安全的 Cookie:通过 HTTP 连接以明文形式发送。您可以通过在 Cookie 标头上设置 secure 属性来避免这种情况。您还可以使用新的“严格传输安全”标头来要求使用 SSL 传输安全 (HSTS)。

要点总结

  • 如果您关心用户数据的隐私性和完整性,则需要使用 SSL。比以往更快速、更简单、更省钱。
  • 避免常见的实现问题,例如混合内容 bug 或未设置正确的 HTTP 标头位。
  • 使用相对网址或方案相对网址。
  • 了解一些新奇有趣的功能,例如 HSTS 和证书固定

幻灯片已启用 SSL?

适用于多设备 Web 的媒体 API

by Sam Dutton & Jan Linden

随着网络上新设备和平台的激增,我们发现音频、视频和实时通信需求大幅增长。在线媒体正在改变我们消费各种媒体的方式。

英国政府的一项研究发现,53% 的成年人会在看电视时“同时处理多项媒体事务”:使用移动设备分享和观看媒体内容。在许多国家/地区,电视观看人数有所下降,而在线观看人数有所增加。例如,在中国,2012 年北京只有 30% 的家庭观看电视,而 2009 年这一比例为 70%。根据 2013 年 W3C 要点,“在过去一年中,移动设备上的视频观看量翻了一番。今年,美国用户平均每天在数字媒体上花费的时间将超过在电视上花费的时间。观看不再是一种被动的行为。在美国,87% 的娱乐内容消费者表示,他们在观看电视时会使用至少一台第二屏设备。根据 Cisco 的预测,“到 2017 年,视频将占全球消费者流量的 80% 到 90%”。这相当于每秒有近 100 万分钟的视频内容。

那么,我们为 Web 开发者提供了哪些功能?面向开放 Web 的媒体 API 生态系统:可在多个平台上运行的标准化、可互操作的技术。

要点总结

  • WebRTC 可在浏览器中提供实时通信,目前在移动设备和桌面设备上都广泛受支持。目前,WebRTC 端点总数已超过 12 亿个。
  • Web Audio 提供了用于音频合成和处理的复杂工具。
  • Web MIDI 与 Web Audio 集成,可与 MIDI 设备互动。
  • 现在,超过 85% 的移动浏览器和桌面浏览器都支持音频和视频元素。
  • 媒体来源扩展可用于自适应流式传输和时间推移。
  • EME 支持播放受保护内容。
  • 转写内容、字幕和轨道元素可启用字幕、字幕、时间戳元数据、深层链接和深层搜索。

幻灯片适用于多设备 Web 的媒体 API