# Server-sent Event

SSE (Server Sent-Event)
FE 화면을 구성하다 보면 지속적으로 데이터를 갱신해야 하는 요구사항이 생기고는 합니다. 일반적으로 실시간성 데이터 갱신을 구현하기 위해서는 아래 두 가지을 고민 하게 됩니다. Polling / Long Polling WebSocket API 저 역시 프로젝트를 진행하며 데이터 갱신, 보다 정확히는 차트 데이터의 갱신 및 알림 기능을 구현해야 하는 요구 사항이 생겼습니다. 몇 가지 특징 들을 살펴본 뒤 SSE (Server Sent Event)를 통하여 해당 기능을 구현하고 있습니다. SSE (Server Sent-Event) https://blog.logrocket.com/wp-content/uploads/2021/12/server-sent-events.png SSE는 서버의 Event를 stream 하는 기술
[CowAPI] 24. Server Sent Event (Springboot + React)
1. 문제 현재 Springboot + React로 Server Sent Event를 구현했습니다. 하지만, 실시간 처리를 하기위해 너무 많은 요청을 보내는 문제가 발생했습니다. 2. 원인 특정 시간을 기준으로 그 시간이 지날때마다 요청을 보내고 있습니다. 3. 해결방법 특정 Event가 발생할때만 실시간으로 요청을 보내려고 합니다. 동기화 방법을 사용해볼까 고려해 보고 있습니다. 4. 코드 아래는 SSE의 코드 입니다. 참고하세용
양방향 통신방법
0. intro 브라우저와 서버는 기본적으로 무상태성과 비 연결성을 가진다. 그러나 경우에 따라 실시간으로 업데이트가 이루어져야 할 경우, 서로의 통신이 주기적으로 이루어져야 할 떄가 있다. (ex, 실시간 채팅) 그런 경우, 주기적인 통신의 방법으로 크게 4가지가 존재한다. 1. Polling 클라이언트가 주기적으로 서버에게 데이터요청을 하고, 서버는 이에 대해 응답하는 방식이다. > 예를들어, 실시간 업데이트를 생각해보면 주기적으로 Ajax 요청을 날려서 서버에게 업데이트의 내용을 받아내는 방식이다. Ajax 요청의 주기가 너무 짧으면, 서버가 그만큼 한 브라

JSP 10. Cache-Control & Server-sent Event
복습 HTTP keep-alive HTTP는 Connectless방식으로 작동해서 응답을 받으면 연결을 끊어버리는데 HTTP1.1부터는 keep-alive기능을 지원한다. HTTP는 하나의 연결에 하나의 요청을 하는 것을 기준으로 설계--연결을 맺고 끊는 것은 TCP통신 과정에서 가장 많은 비용이 소비되는 작업 keep-alive 설정을 하면, 지정된 시간동안 연결을 끊지 않고 요청을 계속해서 보낼 수 있다. index페이지에 자원을 가져와야해서 pc를 밀고 네이버를 키면 오래 걸린다. 캐시에 아무것도 없어서 Cache-Control Cache-control: public 캐시를 남기겠다. 누구나 사용할 수 있게 [
JSP - 10. Cache-Control, Refresh, Location
복습 HTTP 비연결지향: 응답 데이터 나가면 연결 끝 이제는 맞지 않는 말, 지금은 거의 CONNECTFULL로 동작 연결 끊고 맺고하는게 낭비라 연결재활용하는 구조로 가고 있음 Response Response Line status code 100: http 1.1에서 새로 나옴. Web Socket의 ing랑 같은 의미 200: 성공 300: 클라이언트의 추가 액션 요구 (성공도 실패도 아님) 304(Not Modified): 정적 자원에 대한 응답데이터에서 사용됨 브라우저가 정적자원을 캐싱한다는 것을 보여주는 단적인 예) >네이버의 인덱스 페이지 하나가 동작하기위해 많은 자원이 필요하기때문에 매번 실시간으로 가져올 때 부하를 방지하기 위해 캐시에 정적 자원을 저장해둠. 재방문시에는 HTML, CSS JS와 같은 정적 자원은 미리저장된 캐시에서 꺼내쓰라는 의