[영상후기] [10분 테코톡] 🧲코일의 Web Socket

박철현·2023년 4월 9일
0

영상후기

목록 보기
79/160

movie

  • 웹 소켓 : 두 프로그램간 메세지를 교환하기 위한 통신 방법 중 하나
    -> 현재 인터넷 환경(HTML5)에서 많이 사용된다.

  • 웹 소켓을 지원하는 브라우저의 경우 웹 소켓 프로토콜 지원

  • 양방향 통신 : 데이터 송수신을 동시에 처리할 수 있는 통신 방법(서로에게 원할 때 데이터를 주고 받을 수 있다.)

  • 실시간 네트워킹 : 웹 환경에서 연속된 데이터를 빠르게 노출(채팅, 주식, 비디오데이터 등) -> 여러 단말기에 빠르게 데이터를 교환

  • 동작 방법
    1) 핸드 쉐이킹(http or https로 이루어짐) -> 프로토콜이 ws or wss(보안) 변경
    2) 메시지 : 여러 프레임(communication에서 가장 작은 단위 데이터, 작은 헤더 + pay load로 구성) 이 모여서 구성하는 하나의 논리적 메시지 단위
    -> 웹소켓 통신에 사용되는 데이터는 UTF8 인코딩
    3) close 프레임을 통해 종료

  • 특징
    1) 최초 접속에서만 http 프로토콜 위에서 핸드쉐이킹을 하기 때문에 http 헤더를 사용
    2) 웹소켓을 위한 별도의 포트는 없으며, 기존 포트(http-80, https-443)을 사용
    3) 프레임으로 구성된 메시지라는 논리적 단위로 송수진
    4) 메시지에 포함될 수 있는 교환 가능한 메시지는 텍스트와 바이너리

  • HTML5 이전의 기술로 구현된 서비스에서 웹 소켓처럼 사용할 수 있도록 도와주는 기술 : Socket.io, SockJS
    -> Javascript를 이용하여 브러우저 종류에 상관없이 실시간 웹을 구현
    -> 브라우저와 웹 서버의 종류와 버전을 파악하여 가장 적합한 기술을 선택하여 사용하는 방식

  • 웹소켓의 한계 : 문자열들을 주고 받을 수 있게 해줄 뿐 그 이상의 일은 하지 않음
    -> 주고받은 문자열의 해독은 온전히 어플리케이션에 맡김
    -> HTTP는 형식을 정해두었기 때문에 모두가 약속을 따르기만 하면 해석할 수 있다.
    -> 하지만 웹소켓은 형식이 정해져 있지 않아 어플리케이션에서 쉽게 해석하기 힘들다.
    -> 때문에 웹소켓방식은 sub-protocols를 사용해서 주고 받는 메시지의 형태를 약속하는 경우가 많다.

  • STOMP (Simple Text Oriented Message Protocol)
    -> 채팅 통신을 하기 위한 형식 정의
    -> HTTP와 유사하게 간단히 정의되어 해석하기 편한 프로토콜
    -> 일반적으로 웹소켓 위에서 사용
    -> 프레임 기반 프로토콜, 프레임은 명령 / 헤더 / 바디로 구성된다.
    -> 헤더와 바디는 빈 라인으로 구분하며, 바디의 끝은 NULL문자로 설정한다.

profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글

관련 채용 정보