[ PROMPT_NODE_24306 ]
Snippets 说明文档
[ SKILL_DOCUMENTATION ]
# Cloudflare Snippets 技能参考
## 描述
针对 **Cloudflare Snippets(仅限)** 的专家指导——这是一个基于 JavaScript 的轻量级边缘逻辑平台,用于修改 HTTP 请求和响应。Snippets 作为规则集引擎(Ruleset Engine)的一部分运行,在付费计划(Pro、Business、Enterprise)中无需额外付费。
## 什么是 Snippets?
Snippets 是作为 Cloudflare 规则集引擎一部分在边缘执行的 JavaScript 函数。主要特征:
- **执行时间**:每个请求 5ms CPU 限制
- **大小限制**:每个片段 32KB
- **运行时**:V8 隔离(Workers API 的子集)
- **子请求**:根据计划支持 2-5 次 fetch 调用
- **成本**:包含在 Pro/Business/Enterprise 计划中
## Snippets 与 Workers 决策矩阵
| 因素 | 如果满足以下条件选择 Snippets | 如果满足以下条件选择 Workers |
|--------|----------------------|---------------------|
| **复杂度** | 简单的请求/响应修改 | 复杂的业务逻辑、路由、中间件 |
| **执行时间** | 5ms 或可变时间 |
| **子请求** | 2-5 次 fetch 调用足够 | 需要 >5 次子请求或复杂编排 |
| **代码大小** | 32KB 或 npm 依赖 |
| **成本** | 希望零额外成本 | 可承担 $5/月 + 使用费 |
| **API** | 需要基础 fetch、headers、URL | 需要 KV、D1、R2、Durable Objects、cron 触发器 |
| **部署** | 需要基于规则的触发器 | 需要自定义路由逻辑 |
**经验法则**:修改请求使用 Snippets,构建应用程序使用 Workers。
## 执行模型
1. 请求到达 Cloudflare 边缘
2. 规则集引擎评估 snippet 规则(过滤表达式)
3. 如果规则匹配,snippet 在 5ms 限制内执行
4. 修改后的请求/响应继续通过管道
5. 响应返回给客户端
Snippets 在请求路径中同步执行——性能至关重要。
## 阅读顺序
1. **[configuration.md](configuration.md)** - 从这里开始:设置、部署方法(仪表板/API/Terraform)
2. **[api.md](api.md)** - 核心 API:Request、Response、headers、`request.cf` 属性
3. **[patterns.md](patterns.md)** - 实际案例:地理路由、A/B 测试、安全标头
4. **[gotchas.md](gotchas.md)** - 故障排除:常见错误、性能提示、API 限制
## 本参考内容
- **[configuration.md](configuration.md)** - 设置、部署、配置
- **[api.md](api.md)** - API 端点、方法、接口
- **[patterns.md](patterns.md)** - 常见模式、用例