본문 바로가기

분류 전체보기288

2024-11-04 학습일기 2024.11.04 - [Spring/WebSocket] - [Spring WebSocket] SSE vs WebSocket [Spring WebSocket] SSE vs WebSocketSSE와 WebSocket, 그들은 왜 실시간 통신 환경에서 자주 비교될까?우리가 알림과 실시간 채팅 같은 서비스를 구현할 때, 우리는 자연스럽게 두 가지 기술 사이에서 고민한다.`SSE`와 `WebSocket`은 각기hdbstn3055.tistory.com 2024.11.04 - [Spring/WebSocket] - [Spring WebSocket] WebSocket [Spring WebSocket] WebSocketWebSocket 이란?`WebSocket` 프로토콜은 표준 된 방법으로 `서버-클라이언트` 간에 단일.. 2024. 11. 5.
[Spring WebSocket] STOMP STOMP의 사용 이유?`WebSocket` 프로토콜은 두 가지 유형의 메시지를 정의하고 있지만,그 메시지의 내용까지는 정의하고 있지 않다. `STOMP`는 `WebSocket` 위에서 동작하는 프로토콜로써, 클라이언트와 서버가 전송할메시지 유형형식내용들을 정의하는 매커니즘이다.  STOMP 란?`STOMP`는 `Simple Text Oriented Messaging Protocol`의 약자로 `TCP` 또는 `WebSocket`과 같은양방향 네트워크 프로토콜 기반으로 동작한다. 이름에서도 알 수 있듯이, `STOMP`는 텍스트 지향 프로토콜이지만, `Message Payload`에는 `Text` 또는`Binary` 데이터를 포함할 수도 있다. `STOMP`는 HTTP 위에서 동작하는 `Frame` 기반.. 2024. 11. 4.
[Spring WebSocket] SockJS SockJS는 왜 생겼을까?이전 포스팅에서 클라이언트-서버 간에 `WebSocket` 연결과 메시지 주고 받는 방법에 대해 살펴보았다.그런데, 클라이언트-서버 `WebSocket` 통신이 순탄하게만 진행될 수 있을까?아니다.그럼, 발생할 수 있는 예외 상황은 어떤 것이 있을지 살펴보자. 우선, 모든 클라이언트의 브라우저에서 WebSocket을 지원한다는 보장이 없다. 두 번째로, 클라이언트/서버 중간에 위치한 프록시가 Upgrade 헤더를 해석하지 못해 서버에 전달하지 못할 수 있다. 마지막으로, 클라이언트/서버 중간에 위치한 프록시가 유휴 상태에서 도중에 커넥션 종료시킬 수도 있다.  이러한 문제는 `WebSocket Emulation`을 통해서 해결이 가능하다.`WebSocket Emulation` .. 2024. 11. 4.
[Spring WebSocket] WebSocket WebSocket 이란?`WebSocket` 프로토콜은 표준 된 방법으로 `서버-클라이언트` 간에 단일 TCP 커넥션을 이용해서양방향 통신을 제공한다. 특징기존의 다른 TCP 기반의 프로토콜과 다르게,`WebSocket`은 HTTP 요청 기반으로 WebSocket HandShake 과정을 거쳐 커넥션을 생성한다.(기존의 TCP 3-way Handshake와는 달리 HTTP 요청을 활용해 연결을 시작한 후, 연결이 확립되면 TCP로 전환) 덕분에, 초기 WebSocket HandShake 요청은 추가적인 방화벽 설정 없이 80, 443 포트를 사용하여양방향 통신이 가능하다. 또한 HTTP 규격 그대로 유지할 수 있기 때문에 HTTP 인증, CORS 등을 동일하게 적용할 수 있다는 장점이 있다.  커넥션 F.. 2024. 11. 4.
[Spring WebSocket] SSE vs WebSocket SSE와 WebSocket, 그들은 왜 실시간 통신 환경에서 자주 비교될까?우리가 알림과 실시간 채팅 같은 서비스를 구현할 때, 우리는 자연스럽게 두 가지 기술 사이에서 고민한다.`SSE`와 `WebSocket`은 각기 다른 매력을 가졌다.  실시간 통신의 필요성앞서, 언급한 것처럼 알림을 띄우거나 실시간 채팅 서비스에서 실시간 통신은 선택이 아닌 필수이다. 그런데 문제는 단방향이냐, 양방향이냐가 된다.  양방향 통신을 택하면 더 복잡하지만 매력적이고, 단방향 통신은 기능은 적지만 그만큼 단순하다.둘 중 어느 쪽을 고를지를 결정하기 위해서는 기술들의 성격을 좀 더 들여다 봐야 한다.  SSE (Server-Sent Events)`SSE`는 마치 인프런 강의처럼 강사가 우리에게 일방적으로 강의를 하는 것과.. 2024. 11. 4.
2024-11-03 학습일기 이력서 작성.. 2024. 11. 3.