WebSocket 웹소켓

2023. 9. 21. 17:26·개발 ━━━━━/Dev
반응형

WebSocket 이란?

서버와 클라이언트 간에 Connection 을 계속 유지하면서 양방향 통신 (Duplex) 을 하여 클라이언트의 요청이 없어도 데이터를 전송할 수 있는 프토로토콜으로 Real-time web application 구현을 위해 널리 사용되고 있다.

 

프로토콜 (Protocol) - 통신 규약
네트워크의 접속 순서, 통신 회선을 이용하여 컴퓨터와 데이터를 주고 받기 위해서 정한 통신 규약
HTTP (Hyper Text Transfer Protocol) 은 프로토콜의 한 종류로서 웹 서버와 브라우저 사이에 문서를 전송하는데 사용된다.

 

Http vs  WebSocket

공통점

클라이언트가 애플리케이션을 사용하기 위해 URL 에 접근하여 HTTP method, header, entity 등의 요청을 하고 서버는 그에 따른 응답을 통해 통신이 이루어진다.

 

차이점

 

WebSocket 장단점

장점

1. 양방향 통신

클라이언트와 서버는 지속적으로 연결되어 있는 TCP 를 통해 양방향 통신을 한다.

Ajax 와는 다르게 서버에서 클라이언트로 요청을 보낼 수 있다.

 

2. 실시간 통신 가능

 

단점

1. 지원하지 않는 브라우저가 있을 수 있다.

(출처 : https://caniuse.com/?search=websocket)

 

2. 서버와 클라이언트는 항상 연결되어 있어야 한다.

한 번 통신하고 연결이 끊키는 HTTP 와는 달리 Stateful (상태 유지) 해야한다.

 

WebSocket 순서

1. TCP/IP 접속 요청

2. TCP/IP 접속 수락

3. WebSocket 열기, Handshake 요청

4. WebSocket 열기, Handshake 수락

5. WebSocket 데이터 송, 수신

반응형

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

[Docker] MySQL 컨테이너를 이미지화 하여 Docker Hub 에 push 하기  (0) 2023.12.04
Github Actions 를 이용하여 AWS EC2 에 SpringBoot 애플리케이션 CI/CD 구축  (0) 2023.09.27
Github Actions  (0) 2023.09.25
[SQL] SQL 문법 - ➁  (0) 2023.08.05
[SQL] SQL 문법 - ➀  (1) 2023.08.04
'개발 ━━━━━/Dev' 카테고리의 다른 글
  • Github Actions 를 이용하여 AWS EC2 에 SpringBoot 애플리케이션 CI/CD 구축
  • Github Actions
  • [SQL] SQL 문법 - ➁
  • [SQL] SQL 문법 - ➀
GukJang
GukJang
•  ⌘ ⌥ •
    반응형
  • GukJang
    SPACE
    GukJang
  • 전체
    오늘
    어제
    • Blog (73)
      • 개발 ━━━━━ (68)
        • Java (14)
        • C++ (1)
        • HTML (1)
        • Spring(boot) (7)
        • Dev (9)
        • SQL (1)
        • CS (2)
        • Git (1)
        • Troubleshoot (14)
        • Algorithm (2)
        • Definition (1)
        • Dev Life (2)
        • TIL (7)
        • 항해 (6)
      • 공돌 ━━━━━ (4)
        • 플젝 (2)
        • 장비 (1)
        • 부품 (1)
      • 독서 ━━━━━ (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    Python
    마이크로파이썬
    사전 스터디
    micropython
    CI CD
    electron-builder
    EC2
    항해99
    docker
    자바
    spring
    백준
    SpringBoot
    docker volume
    Java
    AWS
    오픈소스 기여
    mysql
    알고리즘
    github actions
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
GukJang
WebSocket 웹소켓
상단으로

티스토리툴바