跳转到内容

SSE(Server-Sent Events)

Server-Sent Events 是一种单向 HTTP 流:服务器推送,客户端监听。Restorm 把它做成了一个独立的请求类型。

在树中右键 ▸ 添加 ▸ SSE 请求

一个已连接的 SSE 标签页:右侧每条收到的事件都带有时间戳、名称(“ping”)和负载(一个序列号)。

字段作用
URL流的端点
请求头打开连接请求的请求头 —— 身份验证信息就走这里
上一个事件标识Last-Event-ID 请求头的初始值,仅在首次连接时发送

Restorm 遵循 EventSource 规范:它解析 event:data:id:retry: 字段, 并显示每条收到的事件及其时间戳、名称和负载 —— 点击某个事件即可展开完整内容。事件标识则会被保留用于重连。

一旦连接中断,重连会自动在 Last-Event-ID 中重新发送最后收到的标识 —— 正是这一点让服务器能够从中断处继续。

该流是只接收的:连接打开后没有任何内容可以发送。

两个动作:SSE 连接(输出为 connectedmessage,每收到一个事件发出一次)和 SSE 关闭连接。参见 连接与流

常见模式是:先打开流,通过一次 HTTP 调用触发业务动作,然后用断言验证预期事件确实到达了 message 端口。

三个目标:cURL、浏览器 EventSource、Python(流式 requests)。