CS/Web & Network
[통신] http 통신 vs socket 통신
bonggang
2020. 6. 16. 10:47
스마트기기와 서버 사이 데이터 통신을 위해 일반적으로 http통신과 socket 통신 2가지 방법을 많이들 사용한다.
두 방법의 가장 큰 차이점은 접속 유지 여부이다.
http 통신
http 통신은 client의 요청(request)이 있을 때만 서버가 응답(response)하여 해당 정보를 전송하고 곧바로 연결을 종료하는 방식이다. 즉, 일반적으로 단방향 통신을 위한 통신이라고 생각하면 된다.
만일 실시간 통신을 하고 싶은 경우 약간의 트릭을 사용해 실시간인 것처럼 작동하게 보이도록 하는 기술들을 활용했다.
(polling, long polling, streaming 등)
하지만 실시간 통신을 할 때 나의 경우는 http통신 보다는 socket 통신을 많이 활용했기에 이 부분에 대해 추가적인 정보가 필요하신 분들은 직접 확인해보시는 것을 추천.
실시간 통신을 하지 않는 방식덕분에 http 통신 방법을 사용할 경우 서버의 부하가 줄어든다 .
socket 통신
socket 통신은 client가 서버와 접속이 되면 접속을 해제할 때까지 계속 접속 유지되는 방식이다. 실시간으로 정보 교환을 요구하는 채팅, 온라인 게임, 실시간 영상 통신 등 양방향 통신에 많이 사용된다.
하지만, 서버의 능력이 무한대가 아닌 이상(즉, 아직까지 현실 세계에서) 동시 접속자 수가 제한된다.
참고 자료
https://velog.io/@ejchaid/http
http://blog.naver.com/PostView.nhn?blogId=foxmann&logNo=90140923533