본문 바로가기
개발/Javascript

HTTP, WebSocket 개념과 목적

by 럭키봇 2024. 6. 17.

목차

1. HTTP

2. WebSocket

3. 차이점

 

 

HTTP, WEBSOCKET 통신방식

 

1. HTTP의 개념

 

  • 개념: 웹에서 클라이언트(브라우저)와 서버 간의 요청-응답 방식으로 작동하는 프로토콜입니다.
  • 작동 방식: 클라이언트가 서버에 요청(request)을 보내면, 서버가 응답(response)을 보내는 방식입니다. 요청이 있을 때만 서버가 응답을 보내며, 각각의 요청-응답은 독립적입니다.
  • 특징:
    • 비연결성: 각 요청-응답이 독립적이며, 하나의 요청이 끝나면 연결이 종료됩니다.
    • 단방향 통신: 클라이언트가 요청을 보내고 서버가 응답을 보내는 방식으로, 서버가 클라이언트에게 직접 데이터를 푸시(push)할 수 없습니다.
    • 주로 사용: 웹 페이지 로드, 폼 제출 등.

 

 

 

 


 

 

 

2. WebSocket

 
  • 개념: 클라이언트와 서버 간의 상호 작용을 위한 양방향 통신 프로토콜입니다.
  • 작동 방식: 클라이언트와 서버 간에 한번 연결이 설정되면, 양방향으로 실시간 데이터 전송이 가능합니다.
  • 특징:
    • 연결 유지: 초기 연결 설정 후 클라이언트와 서버 간의 연결이 유지됩니다.
    • 양방향 통신: 클라이언트와 서버 모두 데이터를 주고받을 수 있습니다. 서버는 클라이언트에게 직접 데이터를 푸시할 수 있습니다.
    • 실시간 데이터 전송: 채팅 애플리케이션, 실시간 업데이트가 필요한 애플리케이션(예: 주식 거래, 게임 등)에 적합합니다.

 

 

 


 

 

 

3. 차이점

 

  • 연결 방식:
    • HTTP: 요청-응답 후 연결 종료(비연결성).
    • WebSocket: 초기 연결 설정 후 연결 유지(연결 유지).
  • 통신 방식:
    • HTTP: 단방향(클라이언트 요청 - 서버 응답).
    • WebSocket: 양방향(클라이언트와 서버가 자유롭게 데이터 송수신).
  • 실시간성:
    • HTTP: 실시간성 제한, 주기적인 요청(polling) 필요.
    • WebSocket: 실시간 데이터 전송에 최적화.
  • 용도:
    • HTTP: 웹 페이지 로드, API 요청 등.
    • WebSocket: 실시간 채팅, 게임, 실시간 데이터 스트리밍 등.

 

이러한 차이로 인해, HTTP는 전통적인 웹 페이지와 RESTful API에 주로 사용되며, WebSocket은 실시간 상호 작용이 중요한 애플리케이션에 주로 사용됩니다.

 

 

'개발 > Javascript' 카테고리의 다른 글

Javascript 비동기, 동기 (await & async)  (0) 2024.06.10