내용 건너뛰기

HTML5 클라이언트: 웹소켓과 XHR의 차이점은 무엇인가요?

웹소켓은 순차적 순서 없이 및 http 헤더 없이 데이터를 수신/전송하는 데 사용할 수 있는 지속적인 연결입니다.

Xhr-polling은 HTTP 헤더로 새 요청을 생성하고 HTTP 헤더로 응답을 기다리며, 또한 순차적인 순서를 유지합니다.

이렇게 하면 XHR 데이터 흐름은 항상 다음과 같습니다:

HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER HTTP_HEADER_REQUEST -> HTTP_HEADER_ANSWER 그리고 계속해서

데이터를 다운로드하기 전에 HTTP_HEADER로 요청해야 하므로 이름이 xhr-polling입니다.

웹소켓 데이터 흐름은 다음과 같이 보일 수 있습니다:

프레임_데이터_전송 프레임_데이터_전송 프레임_데이터_수신 프레임_데이터_전송 프레임_데이터_수신 프레임_데이터_수신

또한 특별한 순차적 순서 없이 및 http 헤더 데이터 없이 무작위 데이터 전송/수신입니다.

그로 인해 대부분의 알려진 리버스 프록시에서 Websockets 지원이 부족하여 리버스 프록시와의 사용이 불가능해지지만, xhr 전송의 절반은 Apache 리버스 프록시와 함께 작동할 수 있습니다.

또한 참조: HTML5 클라이언트: 지원되는 브라우저