跳转到内容

Worker 接口 + D1

浏览器 / 客户端
│ GET /api/comments?slug=hello-world
│ POST /api/comments
Worker 接口
├─ Hono 路由
├─ 请求参数校验
├─ D1 预编译语句
└─ JSON 响应
D1 comments-db

这个结构适合评论、留言、表单、轻量后台和低频业务表。大文件进 R2,日志流和高吞吐事件进日志或数据管道,全文搜索走搜索能力。

Worker 接收 /api/*,做鉴权、输入校验、限流和 JSON 响应。D1 保存关系数据,用迁移文件管理表结构,用索引支撑常见查询。SQL 读写都用预编译语句,不拼接用户输入。评论、表单等公开写入口叠加 Turnstile、限流或登录态。验证时把本地迁移、本地接口、远程迁移、线上接口分开。

上线前至少确认这几件事:

  • 所有来自查询参数、路径、请求正文和请求头的值,都先校验长度和格式。
  • SQL 读写使用预编译语句,不拼接用户输入。
  • 高频筛选字段已经建索引。评论列表通常按 slug + created_at 建索引。
  • 评论、表单、支付回调这类写入场景要处理重复提交。
  • 公开写接口叠加 Turnstile、限流或登录态。
  • D1 只放轻量关系型数据;大文件、日志流和高吞吐事件放到对应产品。