Skip to content

Comet

Http 프로토콜의 특성한 지속적인 연결이 불가능 하다. 따라서 client 에서 연결을 하면 응답을 주고 접속이 끊어 진다. 하지만 어떤 경우에는 지속적으로 연결됨이 필요한 경우가 있다.

comet 은 다른 용어로 Reverser Ajax, Ajax Push 라고도 한다. 특정 기술에 대한 이름 이라기 보다는 HTTP 상에서 push 방식을 가리키는 용어다.

Comet의 구현방식

Polling (Ajax)
일정 간격으로 서버에 요청을 보내어 서버의 이벤트를 받는 방식이다. 요청 간격을 줄이면 거의 실시간으로 서버의 이벤트를 받을수 있다. 하지만 서버에의 많은 자원을 소모 하기 때문에 실제로 이렇게 쓰기는 힘들다.
Long Polling (Comet)
클라이언트가 서버에 접속을 하면 서버는 계속 접속을 유지하고 있다가 이벤트가 발생하면 클라이언트로 전송하고 HTTP 트랜잭션을 종료한다. 클라이언트는 메시지를 받으면 다시 서버에 접속을 한다.
Streaming (Comet)
클라이언트와 서버의 접속을 계속 유지한채 서버에서 이벤트가 발생할때 마다 HTTP Chunked 방식으로 데이터를 전송한다. 하지만 몇몇 한계점 때문에 보통은 Long Polling 방식을 활용한다.

See also

Favorite site

References


  1. Html5-server_send_event.pdf