HTTP 통신 vs Socket 통신

yjkim·2024년 9월 7일
0

운영체제

목록 보기
6/7

운영체제 공부하던 중 다음과 같은 내용을 알게됨

소켓 통신은 서로 다른 컴퓨터에 있는 프로세스 사이에 데이터를 주고 받기위해 사용되는 기술이다. 소켓 통신은 클라이언트와 서버가 실시간으로 데이터를 주고 받을 수 있는 양방향 통신으로 채팅, 실시간 스트리밍 등에 사용된다. 소켓 통신은 IP와 포트번호를 통해 어떤 컴퓨터의 어떤 프로세스와 통신할지 구별한다

근데 갑자기 다음과 같은 궁금증이 생겨버림

아니 근데 내가 알기로는 HTTP 통신도 서버랑 클라이언트가 실시간으로 데이터 주고 받는 기술이고, HTTP 통신도 IP와 포트번호를 통해 어떤 컴퓨터의 어떤 프로세스와 통신할지 구별하는데, 둘이 같은거 아님?

그래서 찾아보니까 HTTP 통신은 소켓 통신이 맞음. TCP 계층에 올라간 HTTP 또한 소켓 통신과 같은 방식을 사용함. 즉 HTTP 통신은 소켓 통신에 일종이라고 볼 수 있으나, 소켓 통신은 HTTP 통신이 아님

추가

  • HTTP 통신은 클라이언트의 요청이 들어왔을 때 서버가 응답하는 단방향 통신, 서버는 응답하면 클라이언트와 커넥션을 끊어버림. 즉 실시간 통신이 아님 -> 그러나 현재는 Keep Alive 옵션을 통해 커넥션 유지 가능 즉 근본자체는 실시간 통신이 아니기 때문에 내가 기존에 알고있던 내용은 틀린 내용
  • 초기에는 HTML 파일만 전송하였으나, 현재는 JSON, 이미지 파일 등도 전송 가능


아 퇴사하고 오랜만에 공부하니까 개재밌네 ㅎ

profile
We may throw the dice, but the Lord determines how they fall

0개의 댓글