内容分发网络 (CDN)

本文适用于Microsoft 365 企业版。

CDN 有助于为最终用户保持 Microsoft 365 的快速可靠。 Microsoft 365 等云服务使用 CDN 来缓存更靠近请求它们的浏览器的静态资产,以加快下载速度并减少感知到的最终用户延迟。 本主题中的信息将帮助你了解内容分发网络 (CDN) 以及 Microsoft 365 如何使用它们。

CDN 究竟是什么?

CDN 是一种地理分布式网络,由高速主干网络连接的数据中心内的代理和文件服务器组成。 CDN 用于减少网站或服务中一组指定文件和对象的延迟和加载时间。 CDN 可能有数千个终结点,以最佳方式处理来自任何位置的传入请求。

CDN 通常用于为网站或服务(如 Javascript 文件、图标和图像)提供更快速的下载,还可以提供对用户内容(如 SharePoint Online 文档库中的文件、流媒体文件和自定义代码)的专用访问权限。

CDN 由大多数企业云服务使用。 像 Microsoft 365 这样的云服务有数百万客户一次性下载一系列专有内容 ((例如电子邮件) )和通用内容 ((如图标) )。 将每个人使用的图像(如图标)尽可能靠近用户的计算机更为高效。 对于每个云服务来说,构建将这种通用内容存储在每个大都市区域甚至全球每个主要 Internet 中心的 CDN 数据中心是不切实际的,因此其中一些 CDN 是共享的。

CDN 如何使服务工作更快?

反复下载站点图像和图标等常见对象可能会占用网络带宽,这些带宽可以更好地用于下载重要的个人内容,例如电子邮件或文档。 由于 Microsoft 365 使用包含 CDN 的体系结构,因此可以从离客户端计算机更近的服务器下载图标、脚本和其他通用内容,从而加快下载速度。 这意味着可以更快地访问安全存储在 Microsoft 365 数据中心的个人内容。

CDN 以多种方式帮助提高云服务性能:

  • CDN 将部分网络和文件下载负担从云服务中移开,通过减少为静态资产的请求提供服务的需要,释放云服务资源来为用户内容和其他服务提供服务。
  • CDN 旨在通过实现高性能网络和文件服务器,以及利用更新的网络协议(如 HTTP/2 )和高效的压缩和请求多路复用来提供低延迟的文件访问。
  • CDN 网络使用许多全局分布式终结点,使内容尽可能靠近用户。

The Microsoft 365 CDN

内置的 Microsoft 365 内容分发网络 (CDN) 允许 Microsoft 365 管理员通过将静态资产缓存到更靠近请求它们的浏览器来为组织的 SharePoint Online 页面提供更好的性能,这有助于加快下载速度并减少延迟。 Microsoft 365 CDN 使用 HTTP/2 协议 来提高压缩和下载速度。

注意

Microsoft 365 CDN 仅适用于全球 生产 () 云中的租户。 美国政府、中国和德国云中的租户当前不支持 Microsoft 365 CDN。

Microsoft 365 CDN 由多个 CDN 组成,你可以在多个位置(即)托管静态资产,并从全局高速网络提供这些资产。 可以添加公用源或专用源,也可以同时添加这两种源,具体取决于要在 Microsoft 365 CDN 中托管的内容的种类。

Microsoft 365 CDN 概念图。

Microsoft 365 CDN 内公用源中的内容可供匿名访问,任何有托管资产 URL 的人都可以访问它。 由于对公共源中的内容的访问是匿名的,因此应仅使用它们来缓存非敏感泛型内容,例如 Javascript 文件、脚本、图标和图像。 默认使用 Microsoft 365 CDN 下载常规资源资产(如公用源中的 Microsoft 365 客户端应用)。

Microsoft 365 CDN 中的专用源提供对用户内容(如 SharePoint Online 文档库、网站和专有图像)的专用访问权限。 使用动态生成的令牌保护为私有源中内容的访问提供保护,以便只有有权访问原始文档库或存储位置的用户才能访问它。 Microsoft 365 CDN 中的专用源只能用于 SharePoint Online 内容,并且只能通过重定向从 SharePoint Online 租户访问资产。

SharePoint Online 订阅包含 Microsoft 365 CDN 服务。

有关如何使用 Microsoft 365 CDN 的详细信息,请参阅 将 Microsoft 365 内容分发网络与 SharePoint Online 配合使用

若要观看一系列提供有关使用 Microsoft 365 CDN 的概念和 HOWTO 信息的简短视频,请访问 SharePoint 开发人员模式和实践 YouTube 频道

其他 Microsoft CDN

虽然不是 Microsoft 365 CDN 的一部分,但你可以在 Microsoft 365 租户中使用这些 CDN 访问 SharePoint 开发库、自定义代码以及 Microsoft 365 CDN 范围之外的其他目的。

Azure CDN

注意

从 2020 年第 3 季度开始,SharePoint Online 将开始在 Azure CDN 上缓存视频,以支持改进的视频播放和可靠性。 热门视频将从离用户最近的 CDN 终结点进行流式传输。 此数据将保留在 Microsoft Purview 边界内。 这是适用于所有租户的免费服务,不需要任何客户操作进行配置。

可以使用 Azure CDN 部署自己的 CDN 实例来托管自定义 Web 部件、库和其他资源资产,从而可以将访问密钥应用到 CDN 存储,并更好地控制 CDN 配置。 使用 Azure CDN 不是免费的,需要 Azure 订阅。

有关如何配置 Azure CDN 实例的详细信息,请参阅 快速入门:将 Azure 存储帐户与 Azure CDN 集成

有关如何使用 Azure CDN 托管 SharePoint Web 部件的示例,请参阅 将 SharePoint 客户端 Web 部件部署到 Azure CDN

有关 Azure CDN PowerShell 模块的信息,请参阅 使用 PowerShell 管理 Azure CDN

Microsoft Ajax CDN

Microsoft 的 Ajax CDN 是一种只读 CDN,提供许多常用的开发库,包括 jQuery (及其) 、ASP.NET Ajax、Bootstrap、Knockout.js 等库。

若要在项目中包括这些脚本,只需将对这些公开可用的库的任何引用替换为对 CDN 地址的引用,而不是将其包含在项目本身中。 例如,使用以下代码链接到 jQuery:

<script src=https://ajax.aspnetcdn.com/ajax/jquery-2.1.1.js> </script>

有关如何使用 Microsoft Ajax CDN 的详细信息,请参阅 Microsoft Ajax CDN

Microsoft 365 如何使用 CDN 中的内容?

无论为 Microsoft 365 租户配置哪种 CDN,基本数据检索过程都是相同的。

  1. 客户端 (浏览器或 Office 客户端应用程序) 从 Microsoft 365 请求数据。

  2. Microsoft 365 将数据直接返回给客户端,或者,如果数据是 CDN 托管的一组内容中的一部分,则会将客户端重定向到 CDN URL。

    a. 如果数据已缓存在 公共 源中,则客户端会将数据从最近的 CDN 位置直接下载到客户端。

    b. 如果数据已缓存在 专用 源中,CDN 服务会检查 Microsoft 365 用户帐户对该源的权限。 如果您具有权限,SharePoint Online 会动态生成由 CDN 中的资产路径和两个访问令牌组成的自定义 URL,并将自定义 URL 返回到客户端。 然后,客户端使用自定义 URL 将数据从最近的 CDN 位置直接下载到客户端。

  3. 如果未在 CDN 中缓存数据,CDN 节点会从 Microsoft 365 请求数据,然后在客户端下载数据后缓存数据一段时间。

CDN 找出离用户浏览器最近的数据中心,并使用重定向从那里下载请求的数据。 CDN 重定向快速,可以节省用户大量的下载时间。

应如何设置我的网络,以便 CDN 与 Microsoft 365 配合使用?

将网络客户端与 CDN 终结点之间的延迟降到最低是确保最佳性能的关键考虑因素。 可以使用 管理 Microsoft 365 终结点 中所述的最佳做法,确保网络配置允许客户端浏览器直接访问 CDN,而不是通过中央代理路由 CDN 流量,以避免引入不必要的延迟。

还可以阅读 Microsoft 365 网络连接原则 ,了解优化 Microsoft 365 网络性能背后的概念。

是否有 Microsoft 365 使用的所有 CDN 的列表?

Microsoft 365 使用的 CDN 始终可能会更改,并且在许多情况下,如果 CDN 合作伙伴不可用,则会配置多个 CDN 合作伙伴。 Microsoft 365 使用的主要 CDN 是:

CDN 公司 用法 链接
Microsoft 365 CDN Microsoft Azure 公共源中的通用资产,专用源中的 SharePoint 用户内容 Microsoft Azure CDN
Azure CDN Microsoft 自定义代码、SharePoint 框架解决方案 Microsoft Azure CDN
Microsoft Ajax CDN (只读) Microsoft 适用于 Ajax、jQuery、ASP.NET、Bootstrap、Knockout.js等的常用库。 Microsoft Ajax CDN

CDN 提供哪些性能提升?

测量直接从 Microsoft 365 下载的数据与从特定 CDN 下载的数据之间的特定性能差异涉及许多因素,例如相对于租户和最近的 CDN 终结点的位置、CDN 所服务的页面上的资产数,以及网络延迟和带宽的暂时性变化。 但是,简单的 A/B 测试有助于显示特定文件的下载时间差异。

以下屏幕截图演示了 Microsoft 365 中的本机文件位置与 Microsoft Ajax 内容分发网络上托管的相同文件之间的下载速度差异。 这些屏幕截图来自 Internet Explorer 11 开发人员工具中的“ 网络 ”选项卡。 这些屏幕截图显示了常用库 jQuery 上的延迟。 若要打开此屏幕,请在 Internet Explorer 中按 F12 并选择“ 网络 ”选项卡,该选项卡使用Wi-Fi图标进行符号化。

F12 网络的屏幕截图。

此屏幕截图显示上传到 SharePoint Online 网站本身上的母版页库的库。 上传库所需的时间为 1.51 秒。

加载时间 1.51s 的屏幕截图。

第二张屏幕截图显示了 Microsoft CDN 提供的相同文件。 这一次,延迟约为 496 毫秒。 这是一个很大的改进,并显示整整一秒的下载对象时间被切断。

加载时间(以 469 毫秒为单位)的屏幕截图。

我的数据是否安全?

我们非常谨慎地保护运行业务的数据。 Microsoft 365 CDN 中存储的数据在传输和静态时均加密,Microsoft 365 SharePoint CDN 中的数据访问受 Microsoft 365 用户权限和令牌授权保护。 必须引用 Microsoft 365 SharePoint CDN 中的数据请求, (从 Microsoft 365 租户重定向) ,否则不会生成授权令牌。

为了确保数据保持安全,建议不要将用户内容或其他敏感数据存储在公共 CDN 中。 由于对公共 CDN 中的数据的访问是匿名的,因此公共 CDN 只能用于托管通用内容,例如 Web 脚本文件、图标、图像和其他非敏感资产。

注意

第三方 CDN 提供商的隐私和合规性标准可能与 Microsoft 365 信任中心概述的承诺不同。 通过 CDN 服务缓存的数据可能不符合 MICROSOFT 数据处理条款 (DPT) ,并且可能超出 Microsoft 365 信任中心合规性边界。

有关 Microsoft 365 CDN 提供商的隐私和数据保护的深入信息,请访问以下内容:

如何通过所有这些第三方服务保护我的网络?

使用广泛的合作伙伴服务集使 Microsoft 365 能够扩展并满足可用性要求,并在使用 Microsoft 365 时增强用户体验。 第三方服务 Microsoft 365 杠杆包括两个证书吊销列表;例如 crl.microsoft.com 或 sa.symcb.com,以及 CDN;例如 r3.res.outlook.com。 Microsoft 365 生成的每个 CDN FQDN 都是 Microsoft 365 的自定义 FQDN。 如果应 Microsoft 365 的请求将你发送到 FQDN,则可以确保 CDN 提供程序控制该位置的 FQDN 和基础内容。

对于想要将发往 Microsoft 365 数据中心的请求与发往第三方的请求分开的客户,我们编写了有关 管理 Microsoft 365 终结点的指南。

是否有利用 CDN 的所有 FQDN 的列表?

FQDN 的列表以及它们如何利用 CDN 随时间而变化。 请参阅已发布 的 Microsoft 365 URL 和 IP 地址范围 页面,了解利用 CDN 的最新 FQDN。

还可以使用 Microsoft 365 IP 地址和 URL Web 服务 请求格式化为 CSV 或 JSON 的当前 Microsoft 365 URL 和 IP 地址范围。

是否可以在本地网络上使用自己的 CDN 和缓存内容?

我们一直在寻找新的方法来满足客户需求,目前正在探索使用缓存代理解决方案和其他本地 CDN 解决方案。

虽然它不是 Microsoft 365 CDN 的一部分,但你也可以使用 Azure CDN 托管自定义 Web 部件、库和其他资源资产,这样就可以将访问密钥应用到 CDN 存储,并更好地控制 CDN 配置。 使用 Azure CDN 不是免费的,需要 Azure 订阅。 有关如何配置 Azure CDN 实例的详细信息,请参阅 快速入门:将 Azure 存储帐户与 Azure CDN 集成

我使用的是适用于 Microsoft 365 的 Azure ExpressRoute,这会改变吗?

适用于 Microsoft 365 的 Azure ExpressRoute 提供与公共 Internet 隔离的 Microsoft 365 基础结构的专用连接。 这意味着客户端仍需要通过非 ExpressRoute 连接进行连接,以连接到 CDN 和其他未显式包含在 ExpressRoute 支持的服务列表中的 Microsoft 基础结构。 有关如何路由特定流量(例如发往 CDN 的请求)的详细信息,请参阅 实现适用于 Microsoft 365 的 ExpressRoute

是否可以将 CDN 与本地 SharePoint Server 配合使用?

仅在 SharePoint Online 上下文中使用 CDN 才有意义,应避免使用 SharePoint Server。 这是因为,如果服务器位于本地或地理位置接近,则地理位置的所有优势都无效。 此外,如果与托管它的服务器有网络连接,则站点可能在没有 Internet 连接的情况下使用,因此无法检索 CDN 文件。 否则,如果站点所需的库和文件有一个可用且稳定的 CDN,则应使用 CDN。

另请参阅

Microsoft 365 网络连接原则

评估 Microsoft 365 网络连接

管理 Microsoft 365 终结点

Microsoft 365 URL 和 IP 地址范围

将 Microsoft 365 内容分发网络与 SharePoint Online 配合使用

Microsoft 信任中心

优化 Microsoft 365 性能