CloudFront 如何交付内容 - Amazon CloudFront

CloudFront 如何交付内容

经过一些初步的设置,CloudFront 与您的网站或应用程序协作并加快内容交付速度。此部分说明 CloudFront 如何在查看器请求您的内容时提供该内容。

CloudFront 如何向用户提供内容

配置 CloudFront 以传输您的内容后,用户请求您的文件时将发生以下操作:

  1. 用户访问您的网站或应用程序,并请求一个或多个文件,例如图像文件和 HTML 文件。

  2. DNS 将该请求传送到能以最佳方式满足该请求的 CloudFront POP(边缘站点),通常是以延迟来衡量最近的 CloudFront POP 边缘站点,然后将请求路由到该边缘站点。

  3. 在 POP 中,CloudFront 检查其缓存中是否存在所请求的文件。如果这些文件在缓存中,CloudFront 会将它们发回给用户。如果这些文件没有 位于缓存中,它会执行以下操作:

    1. CloudFront 将该请求和分配中的规范进行比较,然后根据相应文件类型将对文件的请求转发到您的源服务器,例如,将对图像文件的请求转发到 Amazon S3 存储桶,而将对 HTML 文件的请求转发到 HTTP 服务器。

    2. 源服务器将这些文件发回边缘站点。

    3. 源中的第一个字节到达后,CloudFront 就开始将文件转发到用户。CloudFront 还将文件添加到边缘站点上的缓存中,方便下次有人请求这些文件。

 
					为 CloudFront 付费

CloudFront 如何使用区域边缘缓存

CloudFront 节点 (POP)(边缘站点)可确保将受欢迎的内容快速传输给查看者。CloudFront 还具有区域边缘缓存,该缓存可让您的更多内容更靠近查看器(即使该内容的受欢迎程度不足以使其位于 POP 上)以帮助改善该内容的表现。

区域边缘缓存可为所有类型的内容提供帮助,特别是随着时间的推移变得不太常用的内容。这样的示例包括用户生成的内容,例如视频、照片或插图;电子商务资产,例如产品照片和视频;以及新闻和事件相关的内容 (可能突然受到大众欢迎)。

区域缓存的工作方式

区域边缘缓存是全球范围内部署的 CloudFront 位置,靠近查看器。它们位于源服务器和 POP(即全球边缘站点)之间,直接为查看器提供内容。当对象的受欢迎程度降低时,各个 POP 可能会删除这些对象以便为更受欢迎的内容腾出空间。区域边缘缓存具有比各 POP 更大的缓存,因此对象将在最近的区域边缘缓存位置的缓存中保留更长时间。这有助于让更多内容更为靠近读者,减少 CloudFront 返回源服务器的需要,提升读者阅读体验。

当查看器在您的网站上或通过您的应用程序发出请求时,DNS 将请求传送到能以最佳方式满足用户请求的 POP。就延迟而言,此位置通常是最近的 CloudFront 边缘站点。在 POP 中,CloudFront 检查其缓存中是否存在所请求的文件。如果这些文件在缓存中,CloudFront 会将它们发回给用户。如果文件不在缓存中,POP 将转到最近的区域边缘缓存以提取对象。

在区域边缘缓存位置中,CloudFront 将再次检查其缓存中是否有请求的文件。如果文件在缓存中,则 CloudFront 将文件转发到请求它们的 POP。区域边缘缓存位置的第一个字节到达后,CloudFront 就开始将文件转发到用户。CloudFront 还将文件添加到边缘站点上的缓存中,方便下次有人请求这些文件。

对于未在 POP 和区域边缘缓存位置缓存的文件,CloudFront 将请求与分配中的说明进行比较,并将对文件的请求转发到源服务器。在源服务器将文件发送回区域边缘缓存位置后,这些文件会转发到 POP,并且 CloudFront 将文件转发到用户。在这种情况下,CloudFront 还会将文件添加到区域边缘缓存位置中的缓存以及 POP,方便查看器下次请求这些文件。这将确保区域中的所有 POP 都共享本地缓存,从而消除了针对源服务器的多个请求。CloudFront 还将保留与源服务器的持久性连接,以便尽快从源中提取文件。

注意
  • 区域边缘缓存具有与 POP 同等的功能。例如,缓存失效请求将在对象过期之前,同时从 POP 缓存和区域边缘缓存中删除对象。查看器下次请求对象时,CloudFront 将返回源以获取对象的最新版本。

  • 代理方法 PUT/POST/PATCH/OPTIONS/DELETE 直接从 POP 流入源,并且不会流过区域边缘缓存。

  • 在请求时确定的动态请求不会流经区域边缘缓存,而是直接到达源。