All Products
Search
Document Center

CDN:Refresh and prefetch resources

Last Updated:Feb 29, 2024

You can use the refresh feature to delete resources that are cached on points of presence (POPs) and retrieve the latest resources from the origin server. This feature is suitable for resource updates and releases on the origin server, illicit resource cleanup, and domain name configuration changes. You can use the prefetch feature to cache frequently requested resources to POPs during off-peak hours. This feature alleviates loads on origin servers and improves user experience.

Features

  • Refresh: marks resources that are cached on all POPs as expired. When a POP receives a request, the POP redirects the request to the origin server to retrieve the requested resource. Then, the resource is returned to the client and cached on the POP. The refresh feature reduces the cache hit ratio.

  • Prefetch: prefetches resources from the origin server and caches the resources on POPs. When a POP receives a request, the POP directly returns the requested resource to the client because the resource is already cached on the POP. The prefetch feature increases the cache hit ratio.

Scenarios

The following table describes the scenarios where the refresh and prefetch features are commonly used.

Feature

Scenario

Refresh

  • Update and publish resources

    After resources on your origin server are updated, you can submit the URLs or the directories of the updated resources. Then, Alibaba Cloud CDN refreshes the resources that are cached on POPs. This ensures that visitors can retrieve up-to-date resources from POPs.

  • Remove illicit content

    After you remove illicit content that is described in Limits from your origin server, visitors can still access the resources because the resources are cached on POPs. In this case, you need to use the refresh feature to update the cache and remove the resources from POPs.

Prefetch

  • Provide support for major events

    If you want to hold a major activity, you can prefetch the static resources of the event page to POPs. When the activity starts, visitors can access the static resources that are already cached on POPs. This accelerates content delivery.

  • Release installation packages

    Before you release an installation or upgrade package of a product, you can prefetch the package to POPs. After the product is launched, visitors can download the package from POPs. This accelerates content delivery and reduces loads on the origin server when a large number of visitors want to access your resources.

Usage notes

  • After a refresh task is complete, your resources that are cached on POPs are removed. When a POP receives a request for your resources, the request is redirected to the origin server to retrieve the resources. Then, the resources are returned to the client and cached on POPs. If you frequently run refresh tasks, more requests are redirected to the origin server for resources. This results in high bandwidth costs and more loads on the origin server.

  • A refresh task takes effect 5 to 6 minutes after being submitted. If the resource you want to refresh has a TTL of less than 5 minutes, you wait for it to expire instead of manually running a refresh task.

  • After a prefetch task is run, POPs immediately start to retrieve resources from the origin server. A large number of prefetch tasks lead to a large number of concurrent download tasks. This increases the number of requests that are redirected to the origin server. The origin fetch process consumes more bandwidth resources and the origin server may be overwhelmed.

  • The period of time required to complete a prefetch task is proportional to the size of the files that you want to prefetch. In most cases, most prefetch tasks require 5 to 30 minutes to complete. A task that has a smaller average file size requires less time to complete.

  • Resource Access Management (RAM) users must acquire required permissions before they can refresh or prefetch resources. For more information, see Authorize a RAM user to prefetch and refresh resources.

  • URL refresh, directory refresh, and refresh based on regular expressions support cache sharing. If cache sharing is configured for a domain name, you can submit a refresh task with the root domain name or any associated domain name to refresh the cache.

  • By default, prefetch requests include the Accept-Encoding:gzip header. If you want a prefetch request to include other headers or implement multi-replica prefetch, you can call the PushObjectCache operation and specify a custom prefetch header by configuring the WithHeader parameter.

  • If the origin server returns a redirection-related status code, such as 307, the prefetch task does not follow the redirected address and fails. If the origin server returns HTTP status code 301 or 302 and you have enabled 301 or 302 redirection in the Alibaba Cloud CDN console, the prefetch task is not affected. For more information, see Configure 301/302 redirection.

Manually refresh resources

  1. Log on to the Alibaba Cloud CDN console.

  2. In the left-side navigation pane, click Refresh & Prefetch.

  3. On the Refresh/Prefetch tab, configure a refresh rule. The following table describes the parameters.

    刷新预热

    Parameter

    Description

    Operation

    Select Refresh.

    Operation Method

    Select URL, Directory, or Regular Expression.

    URL

    • By default, each Alibaba Cloud account can refresh content from a maximum of 10,000 URLs and 100 directories including subdirectories per day. If the daily peak bandwidth of your Alibaba Cloud account exceeds 200 Mbit/s, you can request a quota increase by following instructions in Quota management.

    • By default, each Alibaba Cloud account can submit a maximum of 20 refresh rules that contain regular expressions per day. If the daily peak bandwidth of your Alibaba Cloud account exceeds 10 Gbit/s, submit a ticket to request a quota increase.

    • Refresh resources based on URLs

      • Each URL must start with http:// or https://.

      • Enter only one URL on each line.

    • Refresh resources based on directories

      • Each URL must start with http:// or https:// and end with a forward slash (/).

        • Refresh all files in the root directory: http://example.com/.

        • Refresh all files in the /path/test/ subdirectory: http://example.com/path/test/.

      • Enter only one URL on each line.

      • You can refresh content from up to 100 directories at a time, and refresh content from up to 100 directories for a domain name per minute.

      • If you refresh resources based on directories, resources in the directory are refreshed based on the actual condition. Specifically, when a visitor requests a resource in a directory, a POP retrieves the last modified time of the resource from the origin server. If the time is the same as the last modified time of the cached resource, the cached resource is returned. If the time does not match, the up-to-date resource is retrieved from the origin server, returned to the user, and cached on the POP.

    • Refresh resources based on regular expressions

      For more information, see Configure URL refresh rules that contain regular expressions.

  4. Click Submit.

  5. View the refresh progress.

    You can view the progress and details of a refresh task on the Records tab. The refresh task is complete when the progress reaches 100%. The progress varies with the number of objects that you want to refresh. The refresh task may require some time to complete.

    Note

    If you have enabled the Auto CDN Cache Update feature in the OSS console, you cannot view the automatic refresh tasks in the Alibaba Cloud CDN console.

Manually prefetch resources

  1. Log on to the Alibaba Cloud CDN console.

  2. In the left-side navigation pane, click Refresh & Prefetch.

  3. On the Refresh/Prefetch tab, configure a prefetch rule. The following table describes the parameters.

    预热

    Parameter

    Description

    Operation

    Select Prefetch.

    Operation Method

    Only URL is available.

    URL

    • Each URL must start with http:// or https://.

    • Enter only one URL on each line.

    • URL prefetch quota (daily): By default, each Alibaba Cloud account can submit a maximum of 1,000 URL prefetch tasks per day. If the daily peak bandwidth of your Alibaba Cloud account exceeds 200 Mbit/s, you can request a quota increase by following instructions in Quota management.

    • Prefetch queue rules: The prefetch queue of each Alibaba Cloud account can contain a maximum of 100,000 URLs. Alibaba Cloud CDN executes prefetch tasks based on the time at which you submit the URLs.

    • The period of time required to complete a prefetch task is proportional to the size of the files that you want to prefetch. A task that has a smaller average file size requires less time to complete.

  4. Click Submit.

  5. View the prefetch progress.

    You can view the details and progress of a prefetch task on the Records tab. The prefetch task is complete when the progress reaches 100%. The progress varies with the number of objects that you want to prefetch. The prefetch task may require some time to complete.

Automatically refresh or prefetch resources

For information about how to automate refresh and prefetch tasks, see Run scripts to refresh and prefetch content.

Related API operations

You can call the API operations that are described in the following table to refresh and prefetch resources.

Operation

Description

PushObjectCache

Prefetches resources from origin servers to the POPs. This reduces loads on origin servers because visitors can hit cache upon their first visits.

RefreshObjectCaches

Refreshes files on POPs. After files are refreshed, the original file content immediately becomes invalid. If clients request the original file content, Alibaba Cloud CDN redirects the requests to the origin server where the content is stored. Then, Alibaba Cloud CDN caches the latest content to the POPs and returns it to the clients. Alibaba Cloud CDN allows you to refresh content from multiple URLs at a time.

Note

URL refresh, directory refresh, and refresh based on regular expressions support cache sharing. If cache sharing is configured for a domain name, you can submit a refresh task with the root domain name or any associated domain name to refresh the cache.

DescribeRefreshTasks

Queries the status of refresh or prefetch tasks.

DescribeRefreshTaskById

Queries the status of refresh or prefetch tasks by ID.

DescribeRefreshQuota

Queries the maximum and remaining numbers of URLs and directories that can be refreshed, the maximum and remaining numbers of URLs that can be prefetched, and the maximum and remaining numbers of URLs and directories that can be blocked on the current day.

DescribeCdnUserQuota

Queries the maximum and remaining quotas.

FAQ