REFERENCE · REALTIME

WebSocket 与 SPA

生命周期边界。 Upgrade 完成后,WebSocket session 已脱离原 HTTP request。它属于进程级连接集合,不属于 ExecutionContext,也不应被 request cancellation 销毁。

Session 不变量

SPA 安全

URL path 解码、规范化后必须仍位于 public root。只有没有文件扩展名且接受 text/html 的 GET 才进入 SPA fallback。静态资源缺失直接 404。

日志

聊天日志不保存消息正文,只保留 room、user、字节数、连接 ID、事件和时间。若确需正文,必须另行定义保留周期、访问控制和脱敏策略。