2012-09-28 3 views

답변

29

AJAX와 WebSocket을 비슷한 작업을 수행하여 웹 브라우저에서 멀티 스레드 프로그래밍을하는 데 도움이 또 다른 HTML5 기능 - 둘 다 서버에 통신 채널을 설정합니다. 웹 작업자는 둘 중 하나와 아무런 관계가 없으며 JS 실행의 개별 스레드에 불과합니다. 이 주변에 더 이상되어 왔으며 훨씬 더 넓은 브라우저 지원이 -

AJAX는 WebSocket을보다 더 성숙이다. AJAX는 요청 지향적입니다. 서버에 요청하면 서버가 응답하고 연결이 닫힙니다. 반면에 웹 소켓은 서버에 대한 영구 연결을 설정하며이 연결을 통해 여러 메시지를 양방향으로 교환합니다. 브라우저 인터페이스를 차단하지 않고 프로세서 집약적 인 작업을 수행하려는 경우

Webworkers 유용합니다.

+0

고맙습니다. 저에게 많은 부분을 설명해 주셔서 감사합니다. –

+0

이 설명은 매우 좋습니다 –

11

이들은 동일하지 않습니다.

아약스 : 그것은 UI 렌더러에서 비동기 웹 서버와

웹 소켓을 상호 작용하는 방법입니다 :는 HTML5 기능을 사용하면 브라우저의 범위를 확장 어떤 소켓 서버와 상호 작용할 수있는 사용

웹 근로자 : 자바 스크립트

8

그들은 동일하지 않습니다. 그러나 고급 응용 프로그램을 빌드 할 때 이들을 함께 사용할 수 있습니다.

아약스 : abbrevation 미국은 ..라는시 서버에서 동적으로 내용을로드하는 데 사용되는 자바 스크립트와 XML 비동기이기 때문에.

웹 소켓 : 웹 소켓은 HTML5에 정의 된 기능입니다. 위키피디아에서는 "웹 소켓은 단일 TCP 연결을 통해 전이중 통신 채널을 제공하는 프로토콜"이라고 명시하고 있습니다. 그래서 이것은 주로 등등 채팅 라이브, 같은 화상 통화로 실시간 통신을위한

WebWorkers을 사용 :이 기능은 HTML5에 정의되어 있습니다. 이것은 기본적으로 Javascript에서 멀티 스레딩 기능을 가져 오는 데 사용됩니다. 자바 스크립트는 단일 스레드 프로그래밍 언어이므로 무거운 계산 작업을 사용할 때마다 중단되거나 일시 중지됩니다. 이 파손을 극복하기 위해 Webworkers가 javascript에 추가되었습니다.

웹 워커 내에서 Ajax 및 웹 소켓을 수행 할 수 있습니다. 그러나 보안상의 이유로 웹 작업자를 사용하여 DOM을 조작 할 수는 없습니다.