창욱씨 2020. 10. 7. 15:48

WebSocket

WebSocket이란 웹 서버와 브라우저간 실시간 양방향 통신환경을 제공해주는 통신 기술입니다. 클라이언트와 서버간 양방향으로 원할 때 요청을 보낼 수 있으며 stateless한 HTTP 방식에 비해 오버헤드가 적기 때문에 유용하게 사용할 수 있습니다.

WebSocket은 다른 HTTP 요청과 마찬가지로 80번 포트를 통해 웹 서버에 연결합니다. HTTP 프로토콜의 버전은 1.1이지만 다음 헤더의 예에서 볼 수 있듯이, Upgrade 헤더를 사용하여 웹 서버에 요청합니다.

GET /... HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade

이후, 여러 TCP 커넥션을 생성하지 않고 하나의 80번 포트 TCP 커넥션을 이용하여 별도의 헤더 등으로 논리적인 데이터 흐름 단위를 이용하여 여러 개의 커넥션을 맺는 효과를 내는 방식인 Protocol Overhead 방식으로 웹 서버와 브라우저가 데이터를 주고 받습니다.

728x90