Alibaba Cloud CDN allows you to refresh and prefetch resources. This topic describes how to refresh and prefetch resources.
Features
Refresh: marks resources that are cached on all points of presence (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 or prefetch feature is commonly used.
Feature | Scenario |
Refresh |
|
Prefetch |
|
Usage notes
After you submit and complete a refresh task, 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. This means that 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 you submit and complete a prefetch task, 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 theWithHeader
parameter.If the origin server returns a redirection-related status code, such as the HTTP 307 status code, the prefetch task does not follow the redirected address and fails. If the origin server returns the HTTP 301 or 302 status code 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.
Refresh resources
For more information about how to automate refresh and prefetch tasks, see Run scripts to refresh and prefetch content.
Log on to the Alibaba Cloud CDN console.
In the left-side navigation pane, click Refresh & Prefetch.
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 up to 10,000 URLs and 100 directories including subdirectories per day. If the daily peak bandwidth of your Alibaba Cloud account exceeds 200 Mbit/s, submit a ticket to request a quota increase. For more information, see Quota management. Alibaba Cloud determines whether to approve your application based on your workloads.
By default, each Alibaba Cloud account can submit up to 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://
orhttps://
.Enter only one URL on each line.
Refresh resources based on directories
Each URL must start with
http://
orhttps://
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, the directories that you submitted are forcibly deleted. If a client requests resources from a deleted directory, the POP redirects the request to the origin server to retrieve up-to-date resources.
Refresh resources based on regular expressions
For more information, see Configure URL refresh rules that contain regular expressions.
Click Submit.
View the refresh progress.
After you submit a refresh task, you can view the task progress and details on the Records tab. The progress varies based on the number of objects that you want to refresh. The refresh task may require some time to complete.
NoteIf you have enabled the Auto CDN Cache Update feature in the Object Storage Service (OSS) console, you cannot view the automatic refresh tasks in the Alibaba Cloud CDN console.
Prefetch resources
For more information about how to automate refresh and prefetch tasks, see Run scripts to refresh and prefetch content.
Log on to the Alibaba Cloud CDN console.
In the left-side navigation pane, click Refresh & Prefetch.
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 supported.
URL
Each URL must start with
http://
orhttps://
.Enter only one URL on each line.
Each Alibaba Cloud account can submit up to 1,000 URLs per day and up to 100 URLs in a request. If the daily peak bandwidth of your Alibaba Cloud account exceeds 200 Mbit/s, you can request a quota increase. For more information, see Quota management. Alibaba Cloud determines whether to approve your application based on your workloads.
The prefetch queue of each Alibaba Cloud account can contain up to 100,000 URLs. Alibaba Cloud CDN executes prefetch tasks based on the point of time at which you submit the URLs. When the number of URLs in the prefetch queue reaches 100,000, Alibaba Cloud CDN rejects subsequent prefetch tasks.
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.
Click Submit.
View the prefetch progress.
After you submit a prefetch task, you can view the task progress and details on the Records tab. The progress varies based on the number of objects that you want to prefetch. The prefetch task may require some time to complete.
Related API operations
You can call the API operations that are described in the following table to refresh and prefetch resources.
Operation | Description |
Prefetches resources from origin servers to the POPs. This reduces loads on origin servers because visitors can hit cache upon their first visits. | |
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. | |
Queries the status of refresh or prefetch tasks. | |
Queries the status of refresh or prefetch tasks by ID. | |
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. | |
Queries the maximum and remaining quotas. |