아약스 vs.웹 소켓 대웹 작업자
이 세 가지의 차이점은 무엇입니까?그들은 정확히 같은 일을 하는 것처럼 보입니다.다른 방법보다 한 방법을 사용하는 이유와 시기를 선택하시겠습니까?
AJAX와 웹 소켓은 모두 서버에 대한 통신 채널을 설정하는 유사한 작업을 수행합니다.웹 작업자는 둘 중 어느 것과도 관련이 없으며 JS 실행의 별도 스레드일 뿐입니다.
AJAX는 웹 소켓보다 더 성숙합니다. 훨씬 더 오래되었고 훨씬 더 광범위한 브라우저 지원을 제공합니다.AJAX는 요청 지향적입니다. 사용자가 서버에 요청을 하면 서버가 응답하고 연결이 닫힙니다.반면에 웹 소켓은 서버에 대한 지속적인 연결을 설정하여 양방향으로 여러 메시지를 교환합니다.
웹 작업자는 브라우저 인터페이스를 차단하지 않고 프로세서 집약적인 작업을 수행하려는 경우 유용합니다.
그들은 같지 않습니다.그러나 고급 응용프로그램을 구축하기 위해 함께 사용할 수 있습니다.
Ajax: 약어 States는 비동기 javascript와 xml입니다.호출 시 서버에서 동적으로 콘텐츠를 로드하는 데 사용됩니다.
웹소켓: 웹소켓은 HTML5에 정의된 기능입니다. 위키백과에서 "WebSocket은 단일 TCP 연결을 통해 전이중 통신 채널을 제공하는 프로토콜입니다."라고 명시되어 있으므로, 이것은 주로 화상 통화, 라이브 채팅 등의 실시간 통신에 사용됩니다.
WebWorkers : 이 기능은 HTML5에도 정의되어 있으며, 기본적으로 자바스크립트로 다중 스레드화 기능을 만드는 데 사용됩니다.Javascript는 단일 스레드 프로그래밍 언어이기 때문에, 이 언어를 사용하여 무거운 계산 작업을 수행할 때마다 중단되거나 일시 중지됩니다. 이러한 중단을 극복하기 위해 Webworker를 Javascript에 추가합니다.
웹워커 내에서 Ajax 및 웹소켓을 수행할 수 있지만 보안상의 이유로 웹워커를 사용하여 DOM을 조작할 수 없습니다.
그들은 같지 않습니다.
Ajax: UI 렌더러에서 비동기식으로 웹 서버와 상호 작용하는 방식입니다.
웹 소켓:브라우저의 범위를 확장하는 소켓 서버와 상호 작용할 수 있는 HTML5 기능
Web Workers : Java Script를 사용하여 웹 브라우저에서 멀티스레드 프로그래밍을 수행할 수 있는 또 다른 HTML5 기능
- Ajax & Websockers는 형제자매입니다.
- 웹워커들은 완전히 다릅니다.
AJAX
AJAX의 가장 좋은 예는 Google의 검색 모음입니다. 입력할 때 제안이 나타나지만 현재 웹 페이지는 리디렉션되거나 새로 고쳐지지 않습니다! (10년 전에는 이것이 놀라웠습니다. 더 이상 그렇지 않습니다.)여기는 AJAX입니다.
AJAX는 "요청" 및 "응답" 모델을 사용합니다. 즉, 질문을 하면 '서버'로부터 답변을 받습니다.
AJAX는 웹 페이지가 백그라운드에서 "서버"와 대화할 수 있도록 해주어 URL에서 벗어나 탐색하지 않고도 웹 페이지를 업데이트할 수 있습니다. 예전에는 웹 페이지에 다른 콘텐츠를 표시하려면 사용자가 다른 URL로 탐색해야 했습니다.이 개념은 단일 페이지 앱과 애플리케이션(React, Vue, Elm 등)을 통해 한 단계 발전했습니다.
웹 소켓:
- 웹 소켓을 사용하면 Ajax와 마찬가지로 웹 페이지가 서버와 대화하고 서버가 응답합니다. 단, 사용자가 전화 통화를 하는 경우는 예외입니다.사용자와 서버 사이에는 "연결"이 있습니다.이 "연결"은 AJAX와 함께 있지 않습니다. 이 경우 서버에서 간단한 요청과 응답이 반환됩니다.
즉, 주식 시장 데이터를 스트리밍하려면 사용자에게 지속적으로 업데이트하십시오. AJAX보다 웹 소켓을 사용하는 것이 더 나을 수 있습니다.
웹 작업자:
집중적인 계산이 필요할 때 사용 - 웹 페이지에서 소수점 100,000자리까지 파이를 계산하도록 요청하는 경우: 시간이 걸릴 수 있습니다.웹 페이지가 중지되고 $$ 손실이 발생할 수 있습니다.웹 페이지를 고정하지 않고 백그라운드에서 집중적인 계산을 수행할 수 있습니다.사이트를 사용하는 사용자는 다른 작업을 수행할 수 있습니다. 예를 들어, 결과를 기다리는 동안 클릭합니다.
언급URL : https://stackoverflow.com/questions/12645186/ajax-vs-web-sockets-vs-web-workers
'programing' 카테고리의 다른 글
교차 도메인 iframe의 DOM 콘텐츠 가져오기 (0) | 2023.09.01 |
---|---|
jQuery 자동 완성 및 ASP.NET (0) | 2023.09.01 |
Spring 프로필에서 @PropertySources를 선택할 수 있습니까? (0) | 2023.09.01 |
수평줄 가운데에 가운데 텍스트 추가 (0) | 2023.09.01 |
C 프로그래밍 언어에서 선언 시 2D 배열 초기화 (0) | 2023.09.01 |