웹 최종 인스턴트 통신 : 짧은 폴링, 혜성, 웹 소켓, SSE

에서 재판 https://juejin.im/entry/5795d1c76be3ff006618a6a4

기존의 아약스 폴링 짧은 혜성 기술, 웹 소켓 기술, SSE (서버 전송 이벤트) : 최종 주류 웹 인스턴트 메시징 프로그램은 기본적으로 사가지 있습니다. 이 문서에서는 간단히 자신의 유사점과 차이점, 장점과 단점을 지적, 기술의 네 가지 원칙을 소개합니다.

지금부터 다음 웹 2.0 시대의 유행에 대한 아약스 기술, 웹 응용 프로그램 개발의 출현과 web1.0 포털 유행의 시대를 통해 인터넷의 상승,에, 지금 web3.0의 방향으로 움직이고있다. 대비 http 프로토콜에서, 캐싱의 피상적 인 측면, 대역폭 최적화 및 보안 향상은 기본 긴 연결 이외의 다른뿐만 아니라, 1.1 버전 1.0에서입니다 개발했다. 그것은 내가, 무 상태 요청 / 응답 모드를 결코 보인다 유지되지는 변경해야 깨달았다.

다행히, HTML5 시간은 즉시 엔드 웹 통신을 달성하기 위해 두 가지 기술 솔루션을 웹 소켓을 가져오고 SSE (서버 전송 이벤트)에왔다.

1. 아약스 짧은 폴링

2005 년 초, 그러한 기술의 광범위한 사용에 그의 구을 그룹, Gmail 및 기타 대화 형 응용 프로그램에서 구글, 그것은 아약스 빠르게 모두에 의해 받아 들여졌다한다.

Ajax 클라이언트 및 서버 측 데이터의 출현은 훨씬 덜 전송뿐만 아니라 훨씬 빨리뿐만 아니라 웹 2.0 시대의 초기 개발을 특징으로 사용자 경험을 풍부하게 할 필요를 충족하기 위해, 또한 천천히 단점이 그를 노출.

인스턴트 메시징 및 데이터 요구 사항의 다른 실시간 업데이트와 풍부한 대화 형 애플리케이션을 충족 할 수 없습니다. 이 브라우저 측 작은 기술 기반의 HTTP 프로토콜은, 결국, 패턴 http 프로토콜은 HTTP 프로토콜 자체는 변경하지 않는 한 요청 / 응답도 변경할 수 없습니다 필요합니다.

 

 

2. 혜성

혜성은 흐름 IFRAME과 htmlfile (HTTP 스트리밍) 모드에 따라 두 가지 방법으로 주로 기반 아약스 롱 폴링 (긴 폴링) 모드를 구현했습니다.

Ajax를 기반 롱 폴링 (긴 폴링) 모드

요청 XMLHttpRequest의 브라우저 요청을하면, 서버가 반환하기 전에 데이터 또는 타임 아웃이 될 때까지 상기 요청은,이 요청을 차단 수신 연결을 재설정하기 위해 요청을 다시 처리에서 브라우저 JS 리턴 정보 (타임 아웃 또는 유효 데이터).

 

 

iframe이 스트림

iframe이는 (정보의 삽입에 대한 책임 자바 스크립트가 일반적으로 HTML) 모드는 전송 데이터를 서버와 클라이언트, 서버 iframe을 사이에 긴 링크를 생성하기 위해 src 속성을 사용하여 페이지에 숨겨진 iframe을 삽입되는 흐름을 실시간으로 업데이트 페이지. 장점은 iframe 흐름 모드 브라우저 호환 음, 구글 회사는 다음과 같은 몇 가지 제품에 iframe이 흐름을 사용하여 Google 토크를 .

데이터를 반환 할 수있는 서버는 제 1 실시 예에 대하여 유지, 종래의 푸시 서버와 본 실시 형태에 가깝다.

 

 

 숨겨진 창을 통해 클라이언트 페이지에서 서버에 긴 연결 요청을 발행. 서버가이 요청을 수신하고 연결 클라이언트와 서버가 만료되지 않도록 링크 상태를 계속 업데이트 후 반응했다.

3. 웹 소켓 : 미래 솔루션 1

4. SSE : 미래 해결 방법 2

SSE (서버 전송 이벤트, 서버 푸시 이벤트) 서버 측 푸시 HTML5 기술은 클라이언트에 새로운 데이터를 할 수 있습니다.

웹 소켓과 비교했을 때, 그것은 또한 서버에서 클라이언트로 데이터를 푸시 할 수 있습니다. 즉, SSE 또는 웹 소켓을 결정하는 방법이다? 요약하면, 할 수있는 웹 소켓은, SSE는 수행과 반대 반대하지만, 완전한 특정 작업의 측면에서, 그들은 다른 수 있습니다.

 

참고 연결 :

1. 위키 백과 -Comet

2.  https://www.jianshu.com/p/01e409ecdb6b

추천

출처www.cnblogs.com/lfri/p/12590883.html