𝗦𝗵𝗼𝗿𝘁 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗟𝗼𝗻𝗴 𝗣𝗼𝗹𝗹𝗶𝗻𝗴, 𝗔𝗻𝗱 𝗦𝗦𝗘
서버에서 클라이언트로 데이터를 전송해야 합니다. 여기 세 가지 방법이 있습니다.
Short Polling
식당에 있는 손님을 생각해 보세요. 손님은 음식이 준비되었는지 5초마다 웨이터에게 물어봅니다.
손님은 일정한 간격으로 이 질문을 반복합니다.
문제점:
- 너무 많은 요청이 서버에 전달됩니다.
- 업데이트가 지연됩니다. 질문한 지 1초 후에 음식이 준비되었다면, 손님은 다시 물어보기 위해 4초를 더 기다려야 합니다.
- 네트워크 리소스가 낭비됩니다.
Long Polling
손님이 웨이터에게 말합니다: "음식이 준비되면 알려주세요."
웨이터는 테이블 옆에 머물며 기다립니다. 셰프가 음식을 완성하면 웨이터는 즉시 손님에게 알립니다. 음식이 너무 오래 걸리면 웨이터는 아직 준비되지 않았다고 손님에게 말합니다.
문제점:
- 연결이 오랫동안 유지됩니다.
- 연결 타임아웃이 발생할 수 있습니다.
- 동시에 많은 손님을 관리하기 어렵습니다.
Server Sent Events (SSE)
실시간 주가를 생각해 보세요. 클라이언트는 한 번 연결을 엽니다. 서버는 이 연결을 계속 유지합니다. 가격이 변할 때마다 서버는 클라이언트에 업데이트를 보냅니다.
주요 특징:
- 이는 단방향 통신입니다.
- 데이터는 서버에서 클라이언트로만 흐릅니다.
- 클라이언트는 이 연결을 통해 메시지를 다시 보내지 않습니다.
출처: https://dev.to/guruharish_b/short-polling-long-polling-and-sse-20o5