티스토리 뷰


 

 

과거 인터넷이 생긴 이래 순수 웹 환경에서의 실시간 양방향 통신은 웹개발자들의 꿈이라고 할수 있었다.

순수 웹환경에서는 근본적으로 되지 않았던 서버 푸시(Server Push) 기술을 쓰기 위해 개발자들은 무던히 잔머리를 굴렸고, 그래서 나온 초기 기술이 hidden iframe 을 통한 반복적인 재요청 방식이었다. 물론 엄청나게 비효율적인 재요청이었으나 비스므리한 효과가 나왔고, 그 당시에는 좋은 아이디어였다.

그 이후에 Ajax의 등장으로 비동기 반복 요청을 할수 있게 되었고, 그나마 iframe 에 비해서는 조금은 개선된 기술이었다.

그리고 Ajax 이후 Comet 이 등장하며 서버 데이터 수신후 재요청이 가능해졌고 그러인해 불필요한 반복 요청의 비효율성은 개선되었다. 하지만 Comet 또한 Ajax와 마찬가지로 폴링(polling)방식이다. 비효율적인 반복을 피하기 위해 연결유지 기법을 사용하였으나, 이 역시 시간이 길어진 점만 다를 뿐, 일정시간 이후에는 연결이 종료되는 방식이다. 그래서 Comet Long-Polling 이라 부른다.

Comet 이후 HTML5가 대두되면서 Server-Sent Events(SSE) 이란 기술이 나왔다. 이 기술은 웹 환경에서 서버푸시를 구현하기 위해 HTML5에서 제안된 표준 기술이다. Comet 을 표준화한 기술이라고 할수 있다. Server-Sent Events 는 서버 푸시 구현을 위한 심플한 자료구조와 인터페이스, 간단 명료한 프로그래밍 모델과 API, 효과적인 통신 매커니즘과 데이터 포맷을 지원하며 DOM 이벤트 형태로 수신 데이터를 처리 할 수 있어 서버푸시 구현에 매우 효과적이다. 그러나 Server-Sent Events (SSE) 역시 소켓통신과 같이 서버->클라이언트로의 능동적인 통신 방식이 아닌 서버푸시 효과만 내기 위한 기술이다.

그런데 드디어 순수 웹상에서도 자바애플릿, AtivieX 등 런타임을 플러그인 형태로 브라우저에 설치해야만 가능했던 실시간 양방향 통신이 가능하게 되었다.

그것이 바로 HTML5의 웹소켓(Web Socket) 이다.

웹소켓은 웹서버와 브라우저가 TCP 라인으로 연결되어 실시간으로 데이터를 주고 받을수 있도록 하는 HTML5의 새로운 스펙이다. 따라서 웹소켓을 이용하면 일반적인 TCP 소켓에서나 가능한 실시간 양방향 전이중 통신이 가능하게 되었다는 것이다.


 



웹사업팀
이득수 차장 @allje_lds
Tel. 02-514-9900
Fax. 02-514-9902
E.mail lds@allje.com
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함