소스분석을 하는 데, 어떤 경우에 socket통신과 http통신이 용이한지 궁금해져서 관련 내용을 찾아보았다.
Web Socket 통신과 Http 통신의 공통점/차이점은 무엇일까?
- 둘 모두 네트워크를 통해 서버로부터 데이터를 가져오기위한 통신 방식에 해당한다.
- 가장 큰 차이점은 접속 유지 여부이다.
Web Socket 통신
- 실시간 네트워킹 & 양방향적 통신. Http 통신의 단점을 보완하기 위해 등장했다. TCP/IP 소켓 통신을 지원한다.
- 접속을 계속 유지해서 데이터를 전달한다. 서버의 자원에 따라서 연결될 수 있는 클라이언트의 숫자가 한정된다.
- 실시간 정보 교환에 사용하며 http보다 속도가 빠르다.
- 실시간으로 데이터를 주고 받는 게임, 챗팅, 동영상 스트리밍의 경우 소켓 통신이 더 적합하다.
Http 통신
- 단방향적 통신. OSI 7계층에서 애플리케이션 계층에 해당하는 프로토콜이다.
- 클라이언트의 요청이 있을때만 데이터의 응답을 전달하고 연결을 끊는다.
- 불필요한 자원의 점유를 없애 다른 접속을 원활하게 하여 많은 데이터 처리를 가능하게 한다. 데이터 요청 후 응답이 오면 연결이 끊어진다.
- Keep-Alive 로 지속적인 연결을 따로 설정해주는 것은 가능하지만 기본적으로 close로 되어있다.
- 콘텐츠 위주의 데이터를 주고 받을 때 적합하다. 서버로 요청을 보내고 응답을 기다리는 어플리케이션(android, ios)에 적합하다.
Refference
https://mangkyu.tistory.com/48
https://asfirstalways.tistory.com/85
https://m.blog.naver.com/PostView.nhn?blogId=eztcpcom&logNo=220006093013&proxyReferer=https%3A%2F%2Fwww.google.com%2F
'CS > Network' 카테고리의 다른 글
[Network] HTTP Method (0) | 2020.03.30 |
---|---|
[Network] OSI 7계층 (0) | 2020.02.23 |
[Network] 스위치의 종류, 포트, 패킷 (0) | 2019.09.20 |