大多数浏览器和
Developer App 均支持流媒体播放。
-
使用现代网络提升性能与安全
使用现代网络 API,提升你 app 的运行速度,使其变得更为轻捷、私密、安全。了解 IPv6、HTTP/2、TLS 1.3 与 Encrypted DNS 等网络协议,并学习这些协议融入到你的 app 与服务器中后,如何提升更高性能、降低能耗与发热。此外,你还将学习如何使用最新的安全协议,在你的 app 中更好地保护隐私。 要获得更多关于为 app 用户创造良好网络体验的内容,请观看“网络新发展:针对当代互联网,优化你的 app”。 若要了解更多 Apple 平台的网络 API,请查看“启用 Encrypted DNS”与“确保本地网络隐私”。
资源
相关视频
WWDC20
WWDC19
WWDC18
-
下载
(你好 WWDC 2020)
大家好 欢迎参加 WWDC
大家好 我是 Jiten Mehta 今天 我们将了解我们可以 在 app 和服务器上进行哪些重要操作 从而为用户提供优质体验 我们将谈论如何最大化 联网运行的性能 如何利用所有 Apple 平台中 构建的 rock-solid 安全功能 当设备在多个网络中移动时 如何实现强健的移动体验 并保护用户隐私 在开始前 请允许我简短说明 我们将要谈论的许多内容都涉及一些技术 这些技术必须得到客户端设备 以及与之通信的服务器的支持 在客户端 如果你已经将现代联网 API 应用于 Apple 平台、URLSession 以及 Network 框架 那么 你将自动获得对上述技术的支持 一切便准备就绪 让我们从性能开始 深入了解 首先 互联网协议的最新版本 IPv6 是支持互联网的基础协议 多年来 Apple 平台一直提供本地 IPv6 支持 包括对仅 IPv6 网络的支持
在互联网上使用 IPv6 建立的连接 不仅能够观察低延迟 而且性能也比使用 IPv4 时更高 部分原因在于 IPv6 减少了 NAT 并增加了现代联网设备
你需要仅在 IPv6 网络下 测试运行你的 app 同时 Mac 可以使用 NAT64 网络共享 这是提交 App Store 的要求之一 好消息是 如果你使用的是现代联网 API 那就没有问题 在互联网上 使用 IPv6 的趋势日益增长 当我们查看上个月 Apple 设备 在全球范围内构建的连接时 发现 IPv6 在所有连接中占比 26% 而 20% 的情况是 我们本可以使用 IPv6 构建连接 但服务器没有开启 使用 IPv6 后 中间连接设置 比使用 IPv4 时快 1.4 倍 这主要是因为 NAT 使用率减少 同时路由得到改善 请确保你的 app 能够充分利用 IPv6 实现的改进 你可以在客户端使用 URLSession 和 Network 框架 获得该内置支持
我们已经完成了我们的任务 现在 需要你勾选服务器站点上的复选框 你需要确保服务器已经开启了 IPv6 从而给用户带来优质的体验 其次 URLSession 提供内置 HTTP/2 支持 大大改进了加载性能 它可以将多个请求多路传输至同一服务器 形成单一连接 大大节省了时间 你无需再等待每次响应结束后 再发送下一个请求 此外 HTTP/2 还通过连接合并改进了性能 该系统探测到 多个请求可以经由同一服务器提供服务 它们会重用现有连接 节省连接设置成本 由于请求标头和响应标头 可以移除无关字节 因此 头部压缩支持有力改善了带宽使用率 如果你想了解更多 HTTP/2 对 app 的好处 可以观看 2018 年 WWDC 的 《为当今互联网优化 app》 当我们查看 HTTP 在 Safari 浏览器中的使用率时 发现过去一个月内 79% 的请求 都使用了 HTTP/2 在使用了 HTTP/2 的请求中 URLSession 任务的中位数持续时间 比使用 HTTP/1.1 的请求 少 1.8 倍 在客户端使用 URLSession 时 如果服务器开启了 HTTP/2 将默认与其进行协商 因此 你需要二次检查服务器设置 确保开启了 HTTP/2
接下来 让我们了解 确保网络交易安全方面取得的进展 TLS 1.3 是 TLS 最新、最优的版本 它通过将一次往返从握手中移除 减少了连接设置次数 同时 它还通过形式验证 以及减少错误配置可能 大大提高了安全性 iOS 12 和 macOS Mojave 提供预览 便于你开启 TLS 1.3 标准协议的 初始版本 并参照服务器部署对其进行测试
目前 此标准协议已经定案 自 iOS 13.4 之后 TLS 1.3 一直默认开启 用于 URLSession 和 Network 框架 在过去的一个月内 约 49% 的连接 在运行最新 iOS 的设备上使用 TLS 1.3 使用 TLS 1.3 构建连接的速度 要比使用 TLS 1.2 快 1.3 倍 如果服务器开启了 TLS 1.3 现代联网 API 将默认与其进行协商 因此 现在就在服务器上开启 TLS 1.3 充分利用这一快速、安全的体验 接着 让我们学习下 当设备在多个网络中转换时 如何提供无缝体验 当设备更改网络时 Multipath TCP 允许 app 的单一 TCP 连接 继续运行 这能够确保 app 无需重新开始 即使是在连接不稳定 或用户进出网络的时候
在客户端 如果使用的是 Network 框架 你可以在 URLSessionConfiguration 或 NWParameters 对象上 设置 multipathServiceType 属性 进而选择 Multipath 支持 我们借助 Multipath TCP 成功提供了优质的服务 去年 我们宣布除了 Siri 之外 我们同时还会为Apple Music 开启 Multipath TCP 自那之后 Music 停顿减少了 13% 同时 当停顿发生时 停顿持续时间也减少了 22%
你可以在配置或参数中 设置 multipathServiceType 属性 进而在 Apple 平台上 轻松选择 Multipath 协议 在服务器上开启该协议 还需要进行其他操作 你可以访问 multipath-tcp.org 查看在服务器部署上 开启 Multipath TCP 的说明 接下来 我的同事 Eric 将带领大家学习 iOS 14 中 重要的、新的隐私保护功能 谢谢大家 谢谢 Jiten iOS 14 改进了用户隐私 为本地网络引入了新的隐私保护措施 这有助于预防 app、第三方库以及 SDK 利用网络中出现的其他设备 定位或识别用户 与本地网络互动的内置系统服务 例如隔空播放、隔空播放以及 HomeKit 不会向 app 提供 任何有关网络的隐私信息 目前 直接访问本地网络资源 包括使用多播和广播 都需要明确的用户许可 为了帮助用户了解 你的 app 如何使用他们的本地网络 你需要在 app 中 向 info.plist 添加原因字符串
如果想进一步了解 测试 app 时的预期场景 以及如何确保你已经准备好 提供高度隐私保护的体验 可以观看 《在 app 中支持本地网络隐私》 同时 iOS 14 和 macOS Big Sur 中 还有一个新功能 那就是支持安全域名解析 包括 DNS-over-TLS 和 DNS-over-HTTPS 该支持并不会为每款 app 或浏览器 提供个别解析服务 它面向的是系统解析器 这样 在配置安全 DNS 后 设备中的所有 app 都会获益 除了使用 NetworkExtension 编写 app 向加密的 DNS 传输发送全系统设置之外 你还可以在 app 中要求加密解析 可以观看《开启加密 DNS》讲座 了解如何利用新 API 的更多细节 你可以向加密解析发送全系统设置 通过在客户端 使用 NetworkExtension 编写 app 同时 在 DNS 提供商 未提供 DNS-over-HTTPS 选项时 对其提出要求 另外 我还想提前与大家 分享一些即将到来的技术 大家可以现在就开始准备 (展望未来) 即使已经开启了加密 DNS 确保解析足够隐私 但在通过服务器执行的每次 TLS 握手中 其包含的明文服务器名称指示 即 SNI 都可能在互联网上受到第三方的窥探 目前 我们正与 互联网工程任务组展开合作 希望将加密 TLS 握手的方法标准化 预防第三方窥探流量 这一点 尤其是在与加密 DNS 的紧密联合下 将迈出重要一步 确保你的网络通信 保留在你和通信服务器之间 另一个提前预告是 HTTP 将推出下一代 HTTP/3 它的基础是新的 QUIC 传输协议
该传输协议内置 TLS 1.3 安全性 不仅能够提供 与 HTTP/2 相同的复用流支持 而且能够进一步减少队头堵塞 这样 当个别请求或响应丢失时 不会拦截其他可能无关的信息
此外 HTTP/3 使用 QUIC 还增强了信息的保真度 改进了拥塞控制并进行了丢包修复
同时 它还提供内置移动支持 预防网络转换不会导致 正在运行中的操作失败 他们能够在新网络上无缝继续作业 不会产生任何中断
目前 互联网工程任务组 仍然在努力研究 HTTP/3 规范 我们将继续与他们通力合作 尽快推动 HTTP/3 在全世界范围内完成部署 在这一方向下 首先 针对使用 URLSession 的 app iOS 14 和 macOS Big Sur 提供了 HTTP/3 支持的试验预览 你可以在开发者设置中进行开启
同时 你还可以在 Safari 浏览器中 通过试验设置 试用同样的 HTTP/3 支持 同样 关于 macOS Big Sur 你也可以通过设置 CFNetworkHTTP3Override 用户默认 在使用 URLSession 的 app 中 开启 HTTP/3 试验支持 在 Safari 浏览器中 你可以 使用开发菜单在试验功能中进行开启 欢迎大家试用 HTTP/3 无论遇到什么的问题 都可以把漏洞发给我们 我们非常期待收到各位的反馈 今天 我们谈论了如何 利用 IPv6、HTTP/2 TLS 1.3、Multipath TCP 以及加密 DNS 从而为所有用户提供性能、安全、移动性 以及隐私保护 目前 上述所有技术 都受到 现代联网 API 和 Apple 平台的支持 因此 请确保你的 app 使用 URLSession 或 Network 框架 同时 查看服务器部署 确保已经进行全面更新 并开启相关功能 这样 你就完成了屏幕列表的右侧内容 最后 还需要开启 HTTP/3 试验支持 并通过服务器部署进行测试 为下一代联网协议提供反馈 感谢大家的观看
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。