일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 버전관리
- 컴퓨터과학
- 자바스크립트
- 2
- 보안
- 웹개발
- 딥러닝
- I'm Sorry
- 머신러닝
- 데이터구조
- 프로그래밍
- 빅데이터
- 소프트웨어공학
- 컴퓨터공학
- 데이터과학
- 컴퓨터비전
- 코딩
- 네트워크
- 알고리즘
- Yes
- 프로그래밍언어
- 자료구조
- 데이터베이스
- 소프트웨어
- 데이터분석
- 인공지능
- 네트워크보안
- 사이버보안
- 파이썬
- 클라우드컴퓨팅
- Today
- Total
스택큐힙리스트
서버 보내기 이벤트 (SSE)는 EventSource를 사용하여 POST로 매개변수를 전달할 수 있습니까? 본문
I'm using Html5 Server Sent Events. The server side is Java Servlet.
I have a json array data wants to pass to server.
var source = new EventSource(../GetPointVal?id=100&jsondata= + JSON.stringify(data));
만약 배열의 크기가 작다면, 서버 측에서는 querystring을 얻을 수 있습니다.
하지만 배열의 크기가 크다면 (아마도 수천 개의 문자 이상), 서버는 querystring을 얻을 수 없습니다.new EventSource(...)
에서 POST 메서드를 사용하여 querystring 길이 제한을 피할 수 있는 서버에 json 배열을 전달할 수 있는 방법이 있을까요?
답변 1
아니오, SSE 표준은 POST를 허용하지 않습니다.
(기술적인 이유는 아니라고 말씀드리기는 어렵지만 - 사용 사례를 본적이 없는 것 같아요: 큰 데이터뿐만 아니라 사용자 지정 인증 체계를 구현하려면 GET 데이터에 비밀번호를 넣지 않는 것이 보안상의 이유가 있습니다.)
XMLHttpRequest
(즉 AJAX)는 POST를 허용하기 때문에 이전의 long-poll/comet 방식으로 돌아갈 수도 있습니다. (제 책인 HTML5 SSE를 활용한 데이터 푸시 앱에서 자세한 방법을 다루고 있습니다.)
다른 접근 방법은 모든 데이터를 미리 POST
하고 HttpSession
에 저장한 다음 SSE 프로세스를 호출하여 해당 세션 데이터를 사용하는 것입니다. (SSE는 쿠키를 지원하기 때문에 JSESSIONID
쿠키도 잘 작동해야 합니다.)
추신: 표준은 명시적으로 POST를 사용할 수 없다고 말하지 않습니다. 그러나 XMLHttpRequest
와 달리 사용할 http 메소드를 지정하는 매개변수나 보내고자 하는 데이터를 지정하는 방법이 없습니다.
답변 2
서버 센트 이벤트(SSE)는 웹 애플리케이션에서 실시간으로 서버와 통신할 수 있는 기술 중 하나입니다. SSE는 최근 검색엔진 최적화(SEO)를 고려한 웹 개발을 위한 중요한 요소로 간주됩니다.SSE를 사용하면 서버와 클라이언트 간의 연결을 유지하면서 서버에서 클라이언트로 이벤트를 전송할 수 있습니다. 이는 서버로부터 새로운 데이터를 가져와 업데이트를 쉽게 할 수 있는 장점을 제공합니다. 보다 중요한 점은, SSE가 일반적으로 GET 요청만을 사용하여 데이터를 전송한다는 것입니다. 이는 SEO에 유리한 영향을 미칩니다.
그러나 SSE에서는 POST 요청을 통해 매개변수를 전달하는 것은 불가능합니다. SSE는 클라이언트에서 서버로의 단방향 통신을 위한 기술이기 때문입니다. 기본적으로 서버에서 클라이언트로 이벤트를 전달할 뿐, 클라이언트에서 서버에 데이터를 전달하기 위해서는 다른 방법을 사용해야 합니다.
POST 요청은 보통 폼 데이터나 API 호출과 같은 서버 요청에 사용되는 방식입니다. 이와 달리 SSE는 서버로부터 클라이언트로의 실시간 이벤트 전달을 위한 방식이기 때문에, POST 요청이 SSE에 포함되지 않은 것은 의미가 없습니다.
따라서, SSE를 사용하면서 매개변수를 전달하기 위해서는 SSE 연결 이전에 POST 요청을 통해 서버에 데이터를 전송하고, 이후에는 SSE를 통해 서버로부터 이벤트를 전달받을 수 있습니다.
SEO를 고려한 웹 개발은 검색 엔진에서 잘 색인될 수 있도록 최적화된 내용을 제공하는 것입니다. SSE는 실시간 데이터 업데이트에 효과적이지만, 매개변수 전달을 위해 POST 요청을 사용할 수 없는 특성이 있습니다. 이를 고려하여 SSE의 장점과 한계를 파악하고, 적절한 방법을 사용하여 웹 개발을 진행하는 것이 중요합니다.