상세 컨텐츠

본문 제목

Socket통신이란?, Socket통신과 HTTP 통신의 차이

Network

by choiDev 2024. 3. 20. 14:28

본문

Socket통신이란?

 

클라이언트 서버가 한순간만 통신하고 단절되는 것이 아닌 특정한 Port를 통해 실시간으로,

양방향 통신을 하는 통신을 의미합니다.

이는 클라이언트만 통신하는 단방향 통신인(HTTP)와의 큰 차이가 있습니다.

 

Socket통신의 주요 특징은?

  1. 양방향 통신
    통신 시작 주체가 클라이언트만 아니라 서버도 될수 있는 양방향 통신이 가능합니다. 
  2. (TCP)연결지향성, (UDP)비연결지향성
    TCP 소켓 통신은 연결후 안정적으로 통신을 제공하며
    UDP 소켓 통신은 연결은 설정하지 않고 비연결 지향적으로 데이터를 전송합니다.
  3. 프로토콜 독립성 
    소켓은 여러 종류의 프로토콜을 사용할 수 있으며 일반적으로 사용되는건 TCP, UDP가 있으며 
    특정상황때 사용하는건 SCTIP, RAW, ICMP, RTP등이 있다.
  4. 포트
    소켓통신에서는 포트를 사용하여 프로세스를 식별합니다.클라이언트는 서버의 특정 포트로 연결을 시도하고, 서버는 해당 포트에서 요청을 수신합니다. 

 

Socket통신HTTP 통신의 차이점은?

비교군 Socket통신 HTTP통신
프로토콜 일반적 (TCP, UDP)
특정상황 :  (SCTIP, RAW, ICMP, RTP)
HTTP 
용도 서버와 클라이언트가 양방향통신으로 엮여있는상태로 
TCP일때는 서버와 클라이언트가 지속적으로 신뢰성있게 데이터를 전송할때 사용하며 
UDP의 경우 신뢰성은 없지만 빠르게 데이터를 전송할때 사용합니다.
HTML페이지, 이미지, 동영상, JSON 등의 리소스를 요청하고 전달받는 단방향 통신만 진행합니다.
통신방식 소켓통신은 저수준 네트워크 API를 사용하여 데이터를 전송하며 데이터의 형식 , 프로토콜은 사용자가 직접 정의하고 구현해야합니다. HTTP통신은 요청. 응답형식을 따르며 클라이언트 -> 서버 요청하면 서버는 요청에 응답하는 HTTP 메시지 형식으로 이루어집니다.
상태 유지 소켓 통신은 연결을 유지하고 데이터를 지속적으로 주고받을수 있으므로 상태를 유지합니다. HTTP는 기본적으로 상태를 유지 하지 않으며 각 요청은 독립적으로 처리하지만 상태관리가 필요할경우 쿠키나 세션을 사용 가능합니다.

'Network' 카테고리의 다른 글

서브넷 마스크  (0) 2024.03.20
Gateway란?  (0) 2024.03.12
[네트워크] MAC , ARP, RARP  (0) 2024.03.02
[HTTP] X-Forwarded-For(XFF)란?  (0) 2022.06.12
sFlow란? (sample Flow 샘플 플로우)  (0) 2019.01.06

관련글 더보기