2011-09-03 1 views
2

나는 그것의 기본적인 생각을 이해합니다. 그러나 내가 본 구현의 대부분은 혼란 스럽지만 혼란 스럽습니다. 나는 혜성과 긴 폴링의 개념을 완전히 이해할 수 없다는 것을 알게되었습니다 ... 간단히 말하면, 나는이 아이디어에 대한 간단한 설명을 요구합니다. 특히 숨겨진 iframe 폴링 기술에 대한 설명에 관심이 있습니다. 실행되는 내용, 요청되는 내용 등혜성과 긴 폴링 개념 (특히 숨겨진 iframe 기술)에 대한 설명이 필요합니다.

또한 고전적인 Ajax 방식에 비해 장점은 무엇입니까? (트래픽 감소 및 실시간 느낌 추가 외).

감사합니다.

답변

3

이 기술은 following article에서 매우 잘 설명됩니다. 핵심 아이디어는 chunked transfer encoding HTTP 기술에 있습니다. 숨겨진 iframe은 청크 인코딩을 사용하는 서버 측 스크립트를 가리키는 페이지에 포함됩니다. 청크 인코딩에서 응답은 한 번에 완전히 전송되지 않고 스트림이 닫힙니다. 서버는 브라우저가 채널을 열어 둘 수 있도록 얼마만큼의 데이터를 보낼지 미리 말하지 않습니다. 그런 다음 서버가 클라이언트에 일부 데이터를 보내려면 단순히 자바 스크립트 기능을 나타내는 응답 청크를 보냅니다. 브라우저는 클라이언트에서이 기능을 받아 실행합니다. 일부 이벤트는 예를 들어 서버에서 일부 데이터 변경에 대한 같은 발생할 때 서버가 성공적으로 정보를 보낼 수있는이 방법 ...

는 또한, 고전 아약스 접근 방식을 통해 그것의 진정한 장점이 무엇입니까? (트래픽 감소 및 실시간 느낌 추가 외).

이점이 충분하지 않습니까? 트래픽 감소는 응답 성이 뛰어난 응용 프로그램을 의미합니다. Google과 Amazon과 같은 대규모 사이트에서 조사를 실시하여 서버를 명시 적으로 제한하여 응답 시간을 2 밀리 초로 늘릴 수 있다는 것을 알고 계셨습니까? 나는 정확한 것을 기억할 수는 없지만 그들은 그다지 심각한 것이 아닙니다. 그들은 그 일을 한 후에 고객의 70 %를 잃었습니다. 기억하십시오 : 웹 애플리케이션의 가장 중요한 기능은 응답 성뿐입니다.

그래서 기본적으로 PULL (Ajax) 대 PUSH (Comet)입니다. PUSH 기법은 클라이언트의 수가 증가하기 시작하면 확장됩니다.

+0

나는 그 말을 바꿔야한다고 생각합니다. 게시물을 수정합니다. – dbozhinovski

+0

@Seiryuu, 기본적으로 PULL (Ajax) vs PUSH (Comet) 메소드입니다. PUSH 방법은 클라이언트의 수가 증가 할 때 더 잘 확장됩니다. –