본문 바로가기

기타

Http 통신 VS Socket 통신

네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신 방식은 크게 

http통신과 socket통신 2가지가 있다. 

 

1. HTTP 통신

http 프로토콜은 Client에서 요청이 있을때 응답하여 데이터를 처리한 후 바로 연결을 끊는 방식이다.

Client가 요청(Request)을 하는 경우에만 Server가 응답(response)하는 단방향 통신이다. 서버는 클라이언트로 요청을 보낼 수 없다.

 

 

이런 방식을 사용하는 이유는 서버의 부하를 줄여서 다른 접속을 원활하게 처리하기 위함이다.

 

  • Client가 요청을 보내는 경우에만 Server가 응답하는 단방향 통신이다.
  • Server로 부터 응답을 받은 후에는 연결이 바로 종료된다.
  • 필요한 경우에만 Server로 요청을 보내는 상황에 사용하기 적합하다.
  • 요청을 보내 Server의 응답을 기다리는 어플리케이션의 개발에 주로 사용된다.
  • REST API도 Http 통신에 해당된다.

request를 보낼 경우, [내용을 기다리는 시간 + 연결하는데 들어가는시간 ]이 소요되기 때문에

이러한 통신방식은 콘텐츠 위주의 데이터를 사용할 때 유용하다. 

콘텐츠 위주의 데이터를 사용하는데 socket방식을 사용한다면 서버에 부하가 걸리기 쉬울 것이다.

필요한 때 서버로 정보를 요청하는 상황에서 http를 쓰는것이 좋을것이다.

 

 

2. Socket 통신

Socket통신은 클라이언트가 서버와 접속이 되면 서버나 클라이언트에서 강제로 접속을 해제할 때 까지는 계속해서

접속이 유지된다.

서버와 클라이언트가 특정 port를 통해 연결을 성립하고 있어 실시간으로 양방향 통신을 하는 방식이다.

http와 달리 서버 또한 클라이언트로 요청을 보낼 수 있으며 계속 연결을 유지하기 때문에 실시간 통신이 필요한 경우에 사용하기 좋다.

 

  • Server와 Client가 계속연결을 유지하는 양방향 통신이다.
  • Server와 Client가 실시간으로 데이터를 주고받는 상황에 사용하기 적합하다.
  • 실시간 동영상, 스트리밍 서비스, 게임 등과 같은 즉각적인 정보교환이 필요한 경우에 자주 사용된다.  

실시간 동영상이나 스트리밍 서비스를 http통신 방식으로 구현한다면 사용자가 서버로 동영상을 요청하기 위해 동영상이 종료되는 순간까지 계속해서 Request를 보내야하고 이는 계속적인 연결 요청으로 인해 과부화가 걸리게 될 것 이다.

그러므로 이러한 경우레는 socket통신 방식을 이용하여 구현하는것이 적합하다.  

 

[출처]

mangkyu.tistory.com/48

 

[통신 방식] Http 통신과 Socket 통신 차이

일반적으로 단말기에서 필요로 하는 데이터들은 Server에서 관리합니다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신 방식은 크게 Http 통신과 Socket 통신 2가지가 있는데, 오늘은 이

mangkyu.tistory.com

velog.io/@ejchaid/http

 

[web] Http 통신방식 vs Socket 통신방식

일반적으로 웹에서 필요로 하는 데이터들은 서버에서 관리한다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신 방식은 크게 http통신과 socket통신 2가지가 있다. 1. http통신 client의 요�

velog.io