ajax 객체와 통신방법

Mozilla Firefox 사용에 대한 일반적인 질문과 답을 해 주는 게시판입니다. 질문을 하기 전에 FAQ를 읽어 보시는게 도움이 될 것입니다.
Post Reply
ajax

ajax 객체와 통신방법

Post by ajax »

안녕하세요.

ajax를 공부중입니다.

웹브라우저에서 ajax객체를 생성시킨다는 말은

웹브라우저에 내장객체(정확한 용어가 맞는지??)로 xmlhttprequest 객체가 있어서

이것을 생성시켜 통신을 할수가 있는것인가요?

그리고 사용자에게 드러나지 않게 웹서버와 통신을 하게 되는데

이것은 쓰레드를 생성해서 처리를 하게 되나요?

작업관리자에서 쓰레드 갯수를 봐도 갯수는 변하지 않는거 같던데

자세한 원리를 가르쳐주셨으면 합니다
warmstar
Posts: 41
Joined: 2007 04 03 12:44 36
Contact:

Re: ajax 객체와 통신방법

Post by warmstar »

제가 아는 선에서 답변을 드리도록 하겠습니다.
일단, 질문에서 웹브라우져라고 언급하셨는데 모든 웹브라우져의 방식은 저도 잘 모르겠고
파이어폭스의 경우에 한에서만 답변드리겠습니다.

파이어폭스의 많은 모듈들이 XPCOM이라 불리는 컴포넌트로 구성되어 있습니다.
이중에서 AJAX 지원을 위해 제공하는 객체가 xmlhttprequest 객체입니다.

원래는 var req = new xmlhttprequest(); 와 같은 방식이 아닌 다른 방식으로 XPCOM을 호출해야 되는데
AJAX를 손쉽게 지원하기 위해 위와 같은 방식으로 객체를 생성할 수 있습니다.
참고로 모든 XPCOM 객체를 위와 같은 방식으로 자바스크립트에서 제공할 수 있다면 매우 위험한 일이 될 겁니다.

그리고 위와 같이 생성된 객체에서 AJAX 통신을 할 수 있는데 이를 굳이 새로운 쓰레드로 처리할 필요는 없습니다.
왜냐면, 기본적으로 파이어폭스에서 네트워크를 담당하고 있는 컴포넌트가 있는데 해당 컴포넌트가 necko 입니다.
단지 위에서 생성한 객체는 필요한 uri 정보를 necko 컴포넌트에게 던져주고 necko 컴포넌트에서 수신한 데이터를
처리하는 객체입니다. 따라서 추가적인 쓰레드가 생성되어 처리할 필요가 없는 것이겠죠.

윈도우의 IE같은 경우 파이어폭스와 비슷하게 네트워크 담당 컴포넌트가 분리되어 있어 파이어폭스와 비슷한 방식으로 처리되는 것으로 알고 있습니다. (정확하진 않습니다.) 즉, 추가적인 쓰레드를 생성해서 처리하는 것이 아니라 기존에 사용되고 있는 쓰레드를 통해 통신을 한다는 것이 요점일 것 같습니다.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest