서버에서 클라이언트로 보내고 싶을때가 있다.
그럴때는 웹소켓을 해야만 하는줄알았는데, 그것 말고 HTTP 기반으로 동작하는 방식이 있어서 정리!!
SSE의 주요 특징
- 단방향 통신: 서버에서 클라이언트로의 데이터 전송만 지원!!
- HTTP 기반: HTTP 프로토콜을 사용하므로 별도의 프로토콜이 필요하지 않음
- 자동 재연결: 연결이 끊어지면 자동으로 다시 연결합니다.
- 이벤트 스트리밍: 여러 이벤트 유형을 전송할 수 있으며, 각 이벤트에 대해 커스텀 이벤트 타입을 지정할 수 있습니다.
- 텍스트 전송: 데이터는 항상 UTF-8 인코딩의 텍스트로 전송됨.
SSE WebSocket
통신 방식 | 단방향 (서버 → 클라이언트) | 양방향 (서버 ↔ 클라이언트) |
프로토콜 | HTTP | 전용 프로토콜 (ws:// 또는 wss://) |
데이터 형식 | 텍스트 (UTF-8) | 바이너리 및 텍스트 모두 지원 |
연결 유지 | 연결이 끊어지면 자동 재연결 | 수동으로 재연결 처리 필요 |
복잡도 | 상대적으로 간단 | 상대적으로 복잡 |
용도 | 주식 시세, 채팅 알림 등 실시간 데이터 수신용 | 실시간 채팅, 게임 등 양방향 소통이 필요한 경우 |
'TIL' 카테고리의 다른 글
table full scan이 더 좋을수도 있다. (1) | 2025.04.08 |
---|---|
index 설정 주의사항 (1) | 2025.04.08 |
트래픽 처리 부하테스트 일기 (0) | 2025.03.20 |
node-js ec2 명령어 (0) | 2025.03.20 |
k8s 서비스 (0) | 2025.03.20 |