[네트워크] HTTP vs WebSockets

2023. 2. 2. 15:11·🍞 Computer Science/네트워크

HTTP와 WebSocket은 둘 다 프로토콜이다. 

 

✅ 우선 HTTP가 무엇인지 살펴보자.

모든 서버들이 작동하는 방식을 http라고 한다. 예를 들어 유저가 request를 보내면 서버가 response로 반응한다. http에서 기억해야 할 중요점은 stateless라는 것인데, 그 말은 즉 백엔드가 유저를 기억하지 못한다는 것이다. 유저와 백엔드 사이에 아무런 연결이 없다. request와 response 과정 뒤에 백엔드는 유저를 잊어버린다. response를 주면 끝나고 그다음 request를 기다리는 것이며 그래야 response를 줄 수 있다.

 

👇 HTTP에 대해 더 알아보고 싶다면?

 

[네트워크] HTTP에 대해서

기본적으로 네트워크 통신을 할 때 처음 접하는 게 http 통신이다. 그러므로 이번 기회에 정리를 해보고자 한다! 📌 HTTP Protocol HTTP는 HyperText Transfer protocol의 줄임말로 www상에서 사용하는 프로토

uiop5809.tistory.com

 

이와 다르게, webSocket을 사용하면 실시간 채팅 같은 실시간을 만들 수 있다. webSocket을 사용해서 연결하고 싶고, 서버가 지원한다면 wss(Secure Web Socket) 해도 되며 http와는 전혀 다른 protocol이다. 다음으로 WebSocket에 대해 살펴보자.


 

✅ WebSocket이란?

webSocket 연결이 일어날 땐 마치 악수처럼 작동한다. 브라우저가 서버로 webSocket 요청을 보내면, 서버가 받거나 거절을 한다. 이런 악수가 한 번 성립되면, 연결은 성립된다. 연결은 브라우저와 서버가 손을 맞잡고 있는 것처럼 연결되어 있다. 브라우저랑 서버가 서로 커뮤니케이션하는 터널과 같다. 연결돼 있기 때문에 서버는 내가 누구인지 기억할 수 있다. 연결되어 있기 때문에, 원한다면 서버가 유저에게 메시지를 보낼 수 있다. 서버는 요청을 기다리지 않고 응답을 줄 수 있다. 

 

request, response 과정이 필요하지 않고, 응답하는 것이다.

 

아래의 그림을 살펴보면, 서버는 유저에게 3개의 메세지를 보내고 유저는 다시 1개의 메시지를 보낸다. 그리고 서버는 다시 2개의 메시지를 보낸다. 양방향의 연결이기 때문이다. 서버는 유저에게 메세지를 보낼 수 있고, 유저도 서버에게 메시지를 보낼 수 있다.

 

 

 

 

 

 

저작자표시 (새창열림)

'🍞 Computer Science > 네트워크' 카테고리의 다른 글

[네트워크] TCP/IP 4계층 모델에 대해서  (0) 2025.06.06
[CS] 네트워크 총정리  (0) 2024.07.23
[네트워크] SocketIO vs WebSockets  (0) 2023.02.02
[네트워크] REST와 RESTful API  (1) 2022.10.07
[네트워크] HTTP에 대해서  (0) 2022.10.06
'🍞 Computer Science/네트워크' 카테고리의 다른 글
  • [CS] 네트워크 총정리
  • [네트워크] SocketIO vs WebSockets
  • [네트워크] REST와 RESTful API
  • [네트워크] HTTP에 대해서
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    umc
    Front
    C++
    코틀린
    길벗 블로깅 멘토
    Android
    알고리즘
    백준
    Java
    react
    유니온파인드
    코딩자율학습
    길벗 블로깅 멘토링
    level2
    JavaScript
    안드로이드
    level1
    map
    위상정렬
    프로그래머스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[네트워크] HTTP vs WebSockets
상단으로

티스토리툴바