HTTP 통신 & 소켓 통신과의 차이

Ji·2022년 1월 3일
0

HTTP

  • HTTP란 HyperText Transfer Protocol의 약자로 HTML 파일을 전송하는 프로토콜이라는 뜻
  • 웹 브라우저에서 통신이 일어나고, 초기는 html 파일을 전송하려는 목적으로 만들어져쓰나 현재는 JSON, Image 파일 등도 전송.
  • 초기에는 서버는 응답한 후 클라이언트(사용자)의 Connection을 곧바로 끊어버렸으나, 최근에는 성능상의 이유(Connection을 맺고 끊는 비용이 비싸다)로 Keep Alive 옵션을 통해 일정 기간 동안 클라이언트와 Connection을 유지하는 방식으로 통신이 가능해짐.

통신방식

  • 클라이언트에서 서버로 요청을 보내고 서버가 응답하는 방식으로 통신이 이루어짐.
  • 응답에는 클라이언트의 요청에 따른 결과를 반환
    -> 클라이언트의 요청이 있을 때 서버가 응답하는 방식. 단방향 통신.

소켓 통신과의 차이

  • 소켓이란 두 프로그램이 서로 데이터를 주고 받을 수 있도록 양쪽에 생성되는 통신단자.
  • 소켓은 서버와 클라이언트 양방향 연결이 이루어짐 (클라이언트가 서버로 요청 가능, 서버도 클라이언트로 요청 가능함)
  • 따라서 스트리밍이나 실시간 채팅 등 실시간으로 데이터 주고 받는 경우 소켓통신이 적합.
  • 소켓통신은 계속해서 connection을 들고 있으므로 http 통신에 비해 많은 리소스가 소모됨.

정리

  • 자주 데이터를 주고 받지 않는 환경 -> http
  • 자주 데이터를 주고 받는 환경 -> 소켓 통신
  • http 통신은 사용자가 서버에 요청을 보내는 단방향 통신. 소켓통신은 양방향 통신

출처
https://kotlinworld.com/75

profile
공부방

1개의 댓글

comment-user-thumbnail
2022년 2월 4일

IT 좀 아는 사람이라는 책에서 읽었던 거 같아요. 한 수 배우고 갑니다!

답글 달기