Http통신 / Socket통신

한서연·2022년 2월 6일
0
post-thumbnail

일반적으로 웹 상에서 사용하는 데이터들은 보통 서버에서 관리가된다.
이렇게 되면 데이터를 주고 받을 때, 클라이언트는 서버에 접속하여 데이터를 주고 받게된다. 여기서 주고 받는 통식방식은 크게 Http통신과 Socket통신으로 나뉘게 된다.



Http통신

클라이언트의 요청이 있을때에만 서버가 응답하여 해당 정보를 전송하고 곧바로 연결을 종료하는 통신 방식이다

클라이언트가 요청을 보내는 경우에만 서버가 응답하는 방식으로, 요청이 오면 서버는 클라이언트의 요청에 따른 결과를 반환해준다. 단방향 통신의 특성을 지니고 있다.

단방향 통신(Simplex-Transmission)
말 그대로 선로가 한 쪽 방향으로만 있는 방식이기 때문에 일반적으로 한쪽 방향으로만 통신이 가능하다.



Socket통신

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

Socket통신은 클라이언트가 서버에게만 요청을 보내는 Http통신 방식과는 다르게 서버 또한 클라이언트에게 요청을 보낼 수 있고, 실시간 네트워킹이 가능하다.


양방향 통신(Full-Duplex)

  • 데이터 송수신을 동시에 처리할 수 있는 통신 방법이다.

  • 클라이언트와 서버가 서로에게 원할 때 데이터를 주고 받을 수 있다.

실시간 네트워킹(Real Time-Networking)

  • 웹 환경에서 연속된 데이터를 빠르게 노출한다.

  • 여러 단말기에 빠르게 데이터를 교환한다.


Web Socket

웹에서 사용하는 Socket통신 방식으로 서버와 클라이언트 간의 통신과 데이터 전송이 가능하도록 하는 기술이다


Socket통신은 주로 어디에 사용될까?

양방향 통신이 가능하고 계속 연결을 유지하는 방식이기 때문에 실시간 통신이 필요한 경우에 자주 사용된다. 페이스북과 같은 SNS APP, 화상 채팅APP, 위치 기반APP, 주식사이트, 채팅, 게임 등 실시간 중계나 실시간 채팅과 같이 즉각적으로 정보를 주고받는 경우에 사용한다.


Socket통신의 문제점

클라이언트와 서버간의 Socket연결을 유지 하는 것 자체에 비용이 많이들고, 오래된 버전의 웹 브라우저에서는 지원하지 않는다는 문제점이 있다.



오늘은 간단히 Http통신과 Socket통신에 대해 알아봤는데, 데이터를 자주 주고 받는 환경이 아닐 경우엔 Http통신을 통해 받는 것이 유리하고, 데이터를 자주 주고 받아야 하는 환경에서는 Socket 통신 방식이 유리할 것 같다는 생각이 들었다.
또한 앞으로 데이터를 어떻게 다루는 지에 대해 좀 더 학습하고 싶은 생각이 들었다✨

0개의 댓글