이 질문은이 질문과 정말 비슷합니다. What is the difference between web sockets, long polling, server-sent events and forever frame?Forever-frame과 server sent 이벤트의 차이점은 무엇입니까?
그러나이 질문의 답은 SSE와 영원히 틀린 점을 언급하지 않았습니다.
그들에 대한 간단한 설명을 드리겠습니다.
SSE와 관련하여 시스템은 실제로 Comet과 유사하지만 Comet과 다른 점은 데이터를 전송 한 후에 연결을 끊지 않는 것입니다. 따라서 서버에서 클라이언트로의 연결은 오래 지속되며 클라이언트는 전체 데이터 조각을 수신합니다.
반면에, 영원히 프레임은 나와 비슷한 것 같습니다. Forever 프레임에서 클라이언트는 먼저 iframe 태그를 포함하는 페이지를 수신하여 숨겨진 iframe 내부에서 오래 지속되는 연결을 설정합니다. 그런 다음 클라이언트는 서버에서 청크 된 데이터를 수신하고 클라이언트가 이미 가지고있는 첫 번째 문서의 일부 기능을 사용하여 DOM을 조작합니다.
Forever-frame은 메커니즘에서 iframe 태그를 사용하지만 SSE는 그렇지 않으며 여러 가지 방법으로 SSE를 구현할 수 있습니다. 맞습니까?
이러한 기술에 대한 개요를 가져 주셔서 감사합니다. 그러나 어떤 점에서는 여전히 명확하지 않습니다. 1 : Long-polling과 XHR polling의 차이에 대해서는 잘 모르겠습니다. 나는 "XHR 폴링"이라는 단어를 봤는데, 그것에 대한 좋은 정보를 찾을 수 없었다. 언급했듯이, 롱 폴링은 XMLHttpRequest1을 사용합니다. 여기서 XML 폴링은 XMLHttpRequest2를 사용합니까? 2 : XHR 폴링에서 어느 쪽에서 보낸 readyState 신호입니까? 서버 쪽에서? 아니면 고객? 3 : "자동 재 연결"이라는 단어는 무엇을 의미합니까? 즉, 서버가 데이터를 전송 한 후 연결이 끊어 질 수 있습니까? –
@ KazuyaTomita 내 책을 사기를 권하는 건 너무 건전한가요? :-) 일반적인 긴 폴링과 "xhr"이라고 불렀던 것의 차이점은 전자가 readyState ==를 사용한다는 것입니다. 4이고, 후자는 readyState == 3을 사용합니다. readyState는 클라이언트 측 JavaScript XMLHttpRequest2 API의 일부입니다. –
XMLHttpRequest2를 추가 주석에 따라 사용하기 때문에 긴 폴링 및 XHR 폴링에 대한 설명은 잘못되었습니다. 괜찮 으면 질문 3에 대한 간단한 설명을주세요. –