Галоўная > System Design.Short/long polling, SSE, WebSocket.

System Design.Short/long polling, SSE, WebSocket.

interview
SystemDesign

Пераклад групы артыкулаў пра складаныя сістэмы простымі словамі System Design. Добра падыходзіць для падрыхтоўкі да сумоўя. Github тут

1. Short/long polling, SSE, WebSocket

Short/long polling, SSE, WebSocket

HTTP-сервер не можа самастойна ініцыяваць злучэнне з браўзерам. У выніку менавіта веб-браўзер з'яўляецца ініцыятарам. Што ж рабіць далей, каб атрымліваць абнаўленні ў рэальным часе ад HTTP-сервера?

Як веб-браўзер, так і HTTP-сервер могуць быць адказнымі за гэтую задачу.

Браўзеры выконваюць асноўную працу: кароткія або доўгія апытанкі. Пры кароткім апытанні (short pooling) браўзер перыядычна паўтарае запыт, пакуль не атрымае актуальныя даныя. Пры доўгім апытанні (long pooling) HTTP-сервер не вяртае адказ, пакуль не з’явяцца новыя даныя.

HTTP-сервер і браўзер супрацоўнічаюць: праз WebSocket або SSE (падзеі, што адпраўляюцца серверам). У абодвух выпадках HTTP-сервер можа непасрэдна дасылаць апошнія даныя браўзеру пасля ўсталявання злучэння. Розніца ў тым, што SSE — аднабаковы пратакол, таму браўзер не можа дасылаць новыя запыты, у той час як WebSocket — двухбаковы, і браўзер можа працягваць дасылаць запыты.

LoveJS, 2025-05-11
Каментары

    (Каб даслаць каментар залагуйцеся ў свой уліковы запіс)

    ;