Prefetches content from origin servers to points of presence (POPs). This reduces loads on origin servers because users can directly hit cache upon their first visits.
Operation description
- Alibaba Cloud CDN supports POST requests in which parameters are sent as a form.
- You can call the RefreshObjectCaches operation to refresh content and call the PushObjectCache operation to prefetch content.
- By default, each Alibaba Cloud account can submit up to 1,000 URLs per day. If the daily peak bandwidth value of your workloads exceeds 200 Mbit/s, you can submit a ticket to increase your daily quota. Alibaba Cloud reviews your application and then increases the quota accordingly.
- You can specify at most 100 URLs in each prefetch request.
- For each Alibaba Cloud account, the prefetch queue can contain up to 50,000 URLs. Content is prefetched based on the time when the URLs are submitted. The URL that is submitted the earliest has the highest priority. If the number of URLs in the queue reaches 50,000, you cannot submit more URLs until the number drops below 50,000.
- You can call this operation up to 50 times per second per account.
- For more information about how to automate refresh or prefetch tasks, see Run scripts to refresh and prefetch content.
Precautions
- After a prefetch task is submitted and completed, the POPs immediately start to retrieve resources from the origin server. Therefore, a large number of refresh tasks cause a large number of concurrent download tasks. This increases the number of requests that are redirected to the origin server. The back-to-origin routing process consumes more bandwidth resources and the origin server may be overwhelmed.
- The time required for a prefetch task to complete is proportional to the size of the prefetched file. In actual practice, most prefetch tasks require 5 to 30 minutes to complete. A task with a smaller average file size requires less time.
- To allow RAM users to perform this operation, you must first grant them the required permissions. For more information, see Authorize a RAM user to prefetch and refresh resources.
Debugging
Authorization information
There is currently no authorization information disclosed in the API.
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
ObjectPath | string | Yes | The URLs based on which content is prefetched. Format: accelerated domain name/files to be prefetched. Note
Separate URLs with line feeds (\n or \r\n). Each object path can be up to 1,024 characters in length.
| example.com/image/1.png\nexample.org/image/2.png |
Area | string | No | The accelerated region where content is to be prefetched. Valid values:
If you do not set this parameter, content in the accelerated region of the domain name is prefetched.
| domestic |
L2Preload | boolean | No | Specifies whether to prefetch content to POPs. Valid values:
| true |
WithHeader | string | No | The custom header for prefetch in the JSON format. | { "Accept-Encoding": [ "gzip" ] } |
Response parameters
Examples
Sample success responses
JSON
format
{
"PushTaskId": "9524xxxx",
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | SingleRequest.OverLimit | A maximum of 1000 URLs are supported for each request. | - |
400 | QuotaExceeded.Preload | Your preload attempts have exceeded the daily limit. | The maximum number of URL prefetches on the current day is exceeded. |
400 | InvalidObjectPath.Malformed | The specified ObjectPath is invalid. | - |
400 | InvalidExtensiveDomain.ValueNotSupported | The specified ExtensiveDomain is not supported. | - |
400 | PreloadQueueFull | The warming queue is full,please try again later. | - |
400 | TooManyRequests | Too many requests, please try again later | - |
400 | PreloadQueueFull | Preload queue is full, please try again later. | - |
400 | QuotaPerMinuteExceeded.Refresh | You have exceeded the prescribed preload limits per minute. | - |
400 | InvalidObjectPath.ExceedsMaximum | The maximum number of urls is exceeded. | - |
400 | InvalidCustomHeader | Parse preload header failed. | - |
400 | InvalidCustomHeader | Unsupported Preload headers included. | - |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2023-07-25 | The Error code has changed | View Change Details |