首页龙虾技能列表 › HTTP — 正确使用 HTTP 的最佳实践

🌐 HTTP — 正确使用 HTTP 的最佳实践

v1.0.0

该技能提供使用 HTTP 的最佳实践指南,涵盖正确的 HTTP 方法、状态码、头部和缓存使用。它是一个静态参考,旨在帮助开发者正确使用 HTTP。

4· 3,600·40 当前·40 累计
by @ivangdavila (Iván)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/2/26
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
此技能仅提供指令,无代码、无安装要求,不请求任何凭据或系统访问,声明的目的与内容完全一致。
评估建议
该技能基本上是一个关于 HTTP 最佳实践的静态参考,技术风险极低。若您非常谨慎,可以考虑只安装来自信任来源的技能,权衡是否偏好内置文档或策划的参考,并记住该技能可以被您的代理自主调用(但它无法访问您的文件或凭据,因为它没有安装或环境要求)。
详细分析 ▾
用途与能力
名称和描述与 SKILL.md 内容匹配:该文件是一个关于 HTTP 方法、头部、缓存、CORS、安全头、重试等的专注清单。元数据或指令中没有声明超出提供指导的能力。
指令范围
SKILL.md 只包含关于 HTTP 行为和头部的静态推荐。它不指示代理读取文件、环境变量、系统状态或向外部端点传输数据,因此没有范围蔓延。
安装机制
无安装规范和代码文件(仅指令)。安装程序不会下载或写入磁盘上的任何内容;这是最低风险模型。
凭证需求
该技能声明不需要环境变量、凭据或配置路径。这对于一个静态指导文档是合理的。
持久化与权限
默认为 false,该技能不请求系统或跨技能配置更改。允许自主调用(平台默认),但该技能无法访问凭据或写入文件。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

🖥️ OSLinux · macOS · Windows

版本

latestv1.0.02026/2/10

初始发布

● 无害

安装命令 点击复制

官方npx clawhub@latest install http
镜像加速npx clawhub@latest install http --registry https://cn.clawhub-mirror.com

技能文档

HTTP 最佳实践指南

重定向(常见混淆)

  • 307 vs 308:两者都保留方法;307 为临时,308 为永久——用于 POST/PUT 重定向
  • 301/302 可能改变 POST 为 GET(浏览器行为)——不适用于带有正文的 API 重定向
  • 包含 Location 头以绝对 URL——相对 URL 可能在旧客户端中失败
  • 重定向循环:限制为 5-10 次跟随;无限循环会崩溃客户端

缓存组合

  • Cache-Control: no-store 用于敏感数据——永不写入磁盘
  • no-cache 仍然缓存但每次重新验证——不是“不缓存”
  • private, max-age=0, must-revalidate 用于用户特定、始终最新的内容
  • public, max-age=31536000, immutable 用于版本化的静态资产
  • Vary: Accept-Encoding, Authorization 当响应依赖于这些头时——忘记 Vary 会破坏缓存

条件请求

  • ETag + If-None-Match:适用于 API——基于内容哈希
  • 强 ETag 与弱 ETag:"abc" vs W/"abc"——弱 ETag 允许语义等效的响应
  • If-Match 用于乐观锁定:如果资源自读取以来已更改,则更新失败
  • 412 条件未满足 当 If-Match 失败——不是 409 冲突

CORS 预飞请求触发器

  • 自定义头(除 Accept、Accept-Language、Content-Language、Content-Type 简单值)
  • Content-Type 不是:application/x-www-form-urlencoded、multipart/form-data、text/plain
  • PUT、DELETE、PATCH 方法——即使是同源,如果其他条件满足
  • ReadableStream 正文——触发预飞
  • 预飞根据 Access-Control-Max-Age 缓存——设置为 86400 以减少 OPTIONS spam

安全头(始终设置)

  • Strict-Transport-Security: max-age=31536000; includeSubDomains——HSTS,一旦设置很难撤销
  • X-Content-Type-Options: nosniff——防止 MIME嗅探攻击
  • X-Frame-Options: DENYSAMEORIGIN——防止点击劫持
  • Content-Security-Policy——复杂但必需;从报告模式开始

范围请求

  • Accept-Ranges: bytes 表示支持——客户端可以请求部分内容
  • Range: bytes=0-1023 请求首 1024 字节;bytes=-500 请求最后 500 字节
  • 返回 206 部分内容与 Content-Range: bytes 0-1023/5000
  • 416 范围不可满足 如果范围无效——包括 Content-Range: bytes */5000

错误响应最佳实践

  • 结构化 JSON 错误:{"error": {"code": "VALIDATION_FAILED", "message": "...", "details": [...]}}
  • 包含请求 ID 在错误响应中——启用日志关联
  • 不在生产环境中泄露堆栈跟踪——服务器端日志,返回通用消息
  • 409 冲突 用于业务规则违反(重复电子邮件、资金不足)——不仅仅是 400

重试模式

  • 默认仅重试幂等方法——GET、PUT、DELETE、HEAD
  • POST 重试需要幂等性键——Idempotency-Key:
  • 指数退避:1s、2s、4s、8s... 带有抖动——防止雷鸣群
  • 尊重 Retry-After 头——可以是秒或 HTTP 日期
  • 设置合理的超时(典型 30s)——不要无限等待

经常遗忘的头部

  • Vary:必须包括影响响应的头——没有 Vary: Origin 的 CORS 会破坏
  • Content-Disposition: attachment; filename="report.pdf" 用于下载
  • X-Request-ID:如果不存在则生成,向下游服务传播
  • Accept-Language 用于本地化响应——尊重并提供优雅的回退

连接行为

  • HTTP/1.1 无 Content-Length 或分块 = 响应后关闭连接
  • Transfer-Encoding: chunked 用于流式传输——无法设置 Content-Length
  • HTTP/2 是二进制、多路复用——HTTP 级别无头部阻塞
  • WebSocket 升级:GET 与 Connection: UpgradeUpgrade: websocket
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务