Что такое Server-Sent Events
Python
Middle
Без компании
Что такое Server-Sent Events
Ответы
Server-Sent Events (SSE) — это технология, позволяющая серверу отправлять клиенту автоматические обновления через HTTP-соединение. В отличие от WebSockets, SSE работает в одном направлении (сервер → клиент) и использует обычные HTTP-запросы.
**Пример на Python (Flask):**
```
from flask import Flask, Response
app = Flask(__name__)
@app.route('/stream')
def stream():
def generate():
while True:
yield f"data: {datetime.now()}\n\n" # Формат SSE: "data: ...\n\n"
return Response(generate(), mimetype='text/event-stream')
```
**Клиентская часть (JS):**
```
const eventSource = new EventSource('/stream');
eventSource.onmessage = (e) => console.log(e.data);
```
**Особенности:**
- Простота реализации (не требует сложных протоколов).
- Поддерживает автоматическое переподключение.
- Не подходит для двусторонней связи (только сервер → клиент).
- Работает поверх HTTP/HTTPS, не требует дополнительных портов.