• 首页
首页
高防CDN静态与动态加速,边缘清洗与调度高防IP转发四层转发,业务 IP 高防接入SDK游戏盾客户端集成,游戏业务专属防护高防服务器独享资源,稳定抗 D 与高可用了解更多
游戏解决方案低延迟与防护一体化金融解决方案合规与流量清洗直播解决方案推拉流与边缘加速区块链解决方案Web3 基础设施防护查看方案
技术文档API 与接入指南帮助中心常见问题与帮助文档博客资讯产品动态与最佳实践全球测速多节点网络性能测试标签云按主题聚合全站内容进入文档
关于我们使命与愿景加入我们招聘与内推合作伙伴渠道与生态联系我们咨询与售后联系我们

文档目录

  • 技术文档
  • 最佳实践
文档/缓存配置/内容预取

内容预取

速盾网络 团队
技术文档

标签

  • 缓存

本页内容

暂无目录

分享文章

𝕏fin

企业级CDN与加速解决方案,AI智能监测优化,实时全方位DDoS/CC防护。全球数万家企业信赖,提供快速、安全、可靠的内容分发与抗DDOS攻击服务。

产品

  • 高防CDN
  • 高防IP转发
  • SDK游戏盾
  • 高防服务器

解决方案

  • 游戏解决方案
  • 金融解决方案
  • 直播解决方案
  • 区块链解决方案

资源

  • 技术文档
  • 帮助中心
  • 博客资讯
  • 全球测速

公司

  • 关于我们
  • 加入我们
  • 合作伙伴
  • 联系我们

© 2026 Sudun. 保留所有权利。

内容预取功能会在用户请求之前,主动将内容加载到边缘缓存中。这确保了首次请求即可命中缓存,消除了冷启动延迟,从而提升用户体验。

预取工作原理

code
传统流程:
用户请求 → 缓存未命中 → 回源获取 → 缓存存储 → 响应

预取流程:
预取任务 → 回源获取 → 缓存存储(就绪)
用户请求 → 缓存命中 → 即时响应

预取的优势

优势描述
消除冷启动首次访问者也能获取缓存内容
更快的页面加载无需回源往返延迟
可预测的性能一致的响应时间
源站保护将负载分散到不同时间

预取方法

URL 列表预取

预取指定的 URL:

json
{
  "urls": [
    "https://example.com/",
    "https://example.com/products",
    "https://example.com/about",
    "https://example.com/css/styles.css",
    "https://example.com/js/app.js"
  ]
}

最适合:已知的关键页面、落地页、营销活动页面

站点地图预取

自动从您的站点地图预取 URL:

code
站点地图 URL:https://example.com/sitemap.xml

Sudun 会解析您的站点地图并预取所有列出的 URL:

xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/page1</loc>
    <lastmod>2024-01-15</lastmod>
  </url>
  <url>
    <loc>https://example.com/page2</loc>
  </url>
</urlset>

最适合:全站预热、对 SEO 至关重要的页面

爬虫预取

自动发现并预取链接内容:

json
{
  "start_url": "https://example.com/",
  "depth": 2,
  "max_urls": 100
}

爬虫会跟随链接来发现内容:

code
深度 0:首页
深度 1:首页链接的页面
深度 2:深度 1 页面链接的页面

最适合:动态网站、发现新内容

配置预取

仪表板设置

  1. 进入 域名 → 选择您的域名
  2. 导航至 缓存 → 预取
  3. 点击 创建预取任务
  4. 配置:

- 来源:URL 列表、站点地图或爬虫

- 计划:一次性或周期性

- 选项:请求头、区域、并发数

预取选项

选项描述默认值
区域预取内容将存入的接入点所有区域
并发数向源站发起的并行请求数5
请求头预取请求的自定义请求头无
忽略 Robots跳过 robots.txt 限制否

区域特定预取

预取到指定的地理区域:

json
{
  "urls": ["https://example.com/"],
  "regions": ["us-east", "eu-west", "asia-pacific"]
}

可用区域:

区域 ID位置
us-east北美东部
us-west北美西部
eu-west欧洲西部
eu-central欧洲中部
asia-pacific亚太地区
asia-south南亚地区

预取计划

一次性预取

立即或在预定时间运行预取:

json
{
  "schedule": {
    "type": "once",
    "run_at": "2024-01-15T06:00:00Z"
  }
}

周期性预取

设置自动周期性预取:

json
{
  "schedule": {
    "type": "recurring",
    "interval": "daily",
    "time": "04:00",
    "timezone": "UTC"
  }
}

计划选项:

间隔描述使用场景
hourly每小时一次频繁更新的内容
daily每天一次标准网站
weekly每周一次静态内容
customCron 表达式复杂计划

Cron 表达式

用于高级调度:

json
{
  "schedule": {
    "type": "cron",
    "expression": "0 */6 * * *"
  }
}

常见模式:

  • 0 4 * * * - 每天凌晨 4 点
  • 0 */2 * * * - 每 2 小时
  • 0 0 * * 0 - 每周日

预取请求头

自定义请求头

在预取时发送特定标头:

json
{
  "headers": {
    "Accept-Language": "en-US",
    "Accept-Encoding": "gzip, br",
    "X-Prefetch": "true"
  }
}

用户代理

配置预取用户代理:

json
{
  "user_agent": "Sudun-Prefetch/1.0"
}

提示:您的源站可通过用户代理或自定义标头检测预取请求并单独记录。

预取触发器

部署触发器

部署后自动预取:

yaml
# CI/CD 集成
- name: 部署
  run: deploy-script.sh

- name: 预热缓存
  run: |
    curl -X POST https://api.Sudun.com/v1/domains/example.com/prefetch \
      -H "Authorization: Bearer $API_KEY" \
      -d '{"sitemap": "https://example.com/sitemap.xml"}'

Webhook 触发器

通过 Webhook 触发预取:

bash
curl -X POST https://api.Sudun.com/v1/domains/example.com/prefetch/trigger \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"job_id": "prefetch-job-123"}'

内容更新触发器

内容变更时预取:

json
{
  "trigger": {
    "type": "purge",
    "action": "prefetch_after_purge"
  }
}

监控预取

任务状态

跟踪预取任务进度:

状态描述
等待中任务已排队
运行中预取进行中
已完成所有 URL 已预取
失败任务失败(查看错误)
部分完成部分 URL 失败

预取指标

在仪表板中查看指标:

  • 已处理 URL:预取的 URL 总数
  • 成功率:成功预取的百分比
  • 平均延迟:预取期间源站响应时间
  • 缓存填充:已缓存的内容量

预取日志

json
{
  "job_id": "pf-abc123",
  "status": "completed",
  "started_at": "2024-01-15T04:00:00Z",
  "completed_at": "2024-01-15T04:05:32Z",
  "stats": {
    "total_urls": 150,
    "successful": 148,
    "failed": 2,
    "skipped": 0
  }
}

最佳实践

优先处理关键内容

首先预取最重要的页面:

json
{
  "urls": [
    {"url": "https://example.com/", "priority": "high"},
    {"url": "https://example.com/products", "priority": "high"},
    {"url": "https://example.com/blog", "priority": "medium"},
    {"url": "https://example.com/about", "priority": "low"}
  ]
}

尊重源站容量

配置并发以避免源站过载:

json
{
  "concurrency": 3,
  "rate_limit": "10/秒"
}

在低峰时段调度

在流量最低时运行预取:

code
高峰时段:上午 9 点 - 下午 6 点
预取窗口:凌晨 2 点 - 凌晨 5 点

排除动态内容

跳过不应预取的 URL:

json
{
  "exclude_patterns": [
    "/api/*",
    "/admin/*",
    "*.json",
    "*?session=*"
  ]
}

故障排除

预取未生效

  1. 检查源站可访问性:确保源站响应预取请求
  2. 验证 URL 格式:URL 必须完全限定(https://...)
  3. 检查 robots.txt:如果被阻止,启用“忽略 Robots”
  4. 查看错误日志:检查特定 URL 失败原因

源站负载过高

如果预取使源站过载:

  1. 降低并发设置
  2. 添加速率限制
  3. 安排在低峰时段运行
  4. 使用增量预取

缓存未预热

如果预取后内容未缓存:

  1. 验证缓存规则允许缓存
  2. 检查源站响应标头
  3. 确保 TTL 不过短
  4. 确认预取已成功完成

API 参考

创建预取任务

bash
curl -X POST https://api.Sudun.com/v1/domains/example.com/prefetch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://example.com/",
      "https://example.com/products"
    ],
    "regions": ["us-east", "eu-west"],
    "concurrency": 5
  }'

从站点地图预取

bash
curl -X POST https://api.Sudun.com/v1/domains/example.com/prefetch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "sitemap": "https://example.com/sitemap.xml",
    "schedule": {
      "type": "daily",
      "time": "04:00"
    }
  }'

获取预取状态

bash
curl -X GET https://api.Sudun.com/v1/domains/example.com/prefetch/job-123 \
  -H "Authorization: Bearer YOUR_API_KEY"

需要内容预取方面的帮助?请联系 support@Sudun.com