(수근수근)

Websocket 공부 본문

Network

Websocket 공부

InformationFarm 2020. 3. 25. 11:22

 

[HTTP에서부터 WEBSOCKET까지]

출처 : https://medium.com/@chullino/http%EC%97%90%EC%84%9C%EB%B6%80%ED%84%B0-websocket%EA%B9%8C%EC%A7%80-94df91988788
HTTP →  AJAX → webSocket 변천사를 이해할 수 있던 글이다.

HTTP : 사용자가 URL을 요청할때만 해달페이지를 꺼내준다.
* 여기서의 불편함
  - 새로운 정보를 받으려면 반드시 URL을 요청해야하기 때문에 불편하다
  -  단순 클릭. 낮은 정보량도 URL을 바꿔서 요청해야함

이를 해결하기 위해 ActiveX / 자바애플릿/플래시 등이 나옴
but  플러그인 형태로 설치해야하는 번거로움이 있다!

AJAX : 동일한 웹페이지에서 해당부분의 DOM을 읽어 일부분만 바꿀수 있게 된다.
  - XMLHttpRequest객체를 통해 서버에 request한다. 객체는 서버와의 연결을 잡아둠
  - 필요한 데이터만 주고받으면 DOM을 갱신하여 자원, 시간 아낄 수 있다.

* 여기서 해결을 못한 것.
  -  클라이언트의 요청이 없음에도 서버에서 응답을 받고 싶은 경우..
( 실시간 통신이 잦고 양방향 처리가 많은 업무를 하는 우리부서 같은경우)

Web Socket : 순수 웹 환경에서 실시간 양방향 통신이 가능하게 한다! (2014.10
.28)
   - 프로토콜이다. 브라우저 서버의 양방향 통신을 가능하게 한다
   - 채팅, 주식차트 실시간 통신에 적합하다.

[ WebSocket과 Socket.io ]

출처 : https://d2.naver.com/helloworld/1336
아직 잘 이해가 가질 않는다.. 더 공부공부

 

[웹 소켓 ( Web Socket )]

출처 : https://victorydntmd.tistory.com/250?category=677321
websocket 프로토콜 / HTTP에서의 전환 / 특징에 대해서 간단명료하게 알 수 있음
웹에서 HTTP를 사용하는데 WS프로토콜을 사용하기 위해 WebsocketHandShaker
과정을 거쳐야 한다!

HTTP헤더에 upgrade속성을 추가하여 서버로 보내면 이제 브라우져는 ws프로토콜
을 사용할 수 있게 된다! ws프로토콜로 전환시 TCP/IP연결을 통해 연결대체

 -websocket의 특징 : 양방향통신 / 실시간통신 / stateful  but 구버전지원불가!!

 

[webSocket 으로 개발하기 전에 알고 있어야 할 것들 ]

출처: https://adrenal.tistory.com/20 [시나몬 브레드]
websocket을 지원하지 않는 브라우져의 문제점.
일반 http스펙을 이용하여 실시간 통신을 흉내내는 솔루션

Socket.io
- node.js 기반으로 만들어진 기술로 자체 스팩으로 만들어진 socket.io 서버를 만들고 socket.io 클라이언트와 브라우저에 구애받지 않고 실시간 통신이 가능해진다. nodejs 기반으로 실시간 이벤트 서버를 개발 할 수 있는 오픈소스 라이브러리 입니다. 특징으로는 멀티 디바이스(web, android, ios, windows)를 지원하며 websocket을 지원하지 않는 browser도 지원합니다.

SockJS
- SpringFramework에서 websocket을 지원. 

[JAVA - Servlet에서 사용하는 웹소켓]

 

실제 자바코드로 웹소켓사용해보기..

출처 : https://nowonbun.tistory.com/285

따라서 해보았는데 404 Error발생 

이유 : websocket 경로 설정문제 있었음.

 

 

'Network' 카테고리의 다른 글

HTTPS통신과 인증서 발급  (0) 2021.07.05
SIP이란 기초  (0) 2020.07.13
[ Network ] Ethernet이란?  (0) 2020.01.16
Comments