Contrairement aux WebSockets, les *Server Send Events* ne permettent qu'une communication unidirectionnelle du serveur vers le client. Il est utilisé lorsque le serveur doit régulièrement envoyer des informations au client, sans attendre de réponses, e.g. envoyer des logs en temps réel.
Le principe est très simple, il s'agit d'une requête et d'une réponse HTTP normales, à l'exception que la réponse HTTP est maintenue en vie (`keep-alive`) et est écrite petit à petit (`text/event-stream`). Le corps de la réponse suit le format suivant :
```
event: $EVENT_NAME
data: $DATA
event: $EVENT_NAME
data: $DATA
event: $EVENT_NAME
data: $DATA
```
Côté client, l'utilisation est très simple, il suffit d'écouter des événements d'un `EventSource`.