Перейти до вмісту

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 (виходи connected і message, одна емісія на кожну отриману подію) і Закриття з’єднання SSE. Див. З’єднання та потоки.

Звичний шаблон: відкрити потік, запустити предметну дію викликом HTTP, а потім перевіркою переконатися, що очікувана подія справді надходить на порт message.

Три цілі: cURL, EventSource браузера, Python (requests у потоковому режимі).