웹 소켓은 HTML5부터 추가된 신기술로, 2011년 IETF에 의해 RFC 6455로 표준화된 기술이다. HTTP가 아닌 WS라는 프로토콜을 사용하며, 이를 지원하는 브라우저와 서버가 필요하다. 크롬이나 엣지같은 최신 브라우저는 이 프로토콜을 지원하고 있으며, 서버 프레임워크로는 Java Spring, NodeJS 등이 지원을 하고있다.
이 기술이 나오기 전까지는 HTTP를 사용하여 실시간 데이터 전송을 구현을 했는데, 이 중 하나가 폴링이라는 기술로서, HTTP가 클라이언트에서 서버로 향하는 단방향 통신이였기 때문에, 주기적으로 서버에서 새로운 업데이트가 있는지 확인해야 한다는 단점이 존재했다. 하지만 이러한 단점은 웹 소켓이 나오면서 해소가 되었다. 웹 소켓은 한 번의 연결이 있다면, 그 이후로는 따로 업데이트가 있는지 클라이언트가 확인할 필요가 없이 서버가 업데이트할 데이터가 있다면 그 때 클라이언트로 전소해주는 방식이였다. 그리고 HTTP와 웹소켓은 포트를 공유하기 때문에 따로 포트를 파줘야하는 번거로움 또한 없다.
'Web' 카테고리의 다른 글
[Web] Stateless와 Stateful (0) | 2021.10.14 |
---|---|
[Web] HTTP 1.1 (0) | 2021.10.13 |