XMLHTTP는 다음과 같은 특징이 있다.


1. open method로 특정 URL을 열때 GET, POST, PUT의 세가지 호출방법 중에서 GET과 POST만 사용할 수 있으며, send method로 특정 parameter를 넘길 경우에는 반드시 POST만 사용하여야 한다.

예) objhttp.open "POST", "http://nets.co.kr/test/xml_resp.asp", false


2. setRequestHeader method를 사용하여 전송할 HTTP의 헤더정보를 설정할 수 있는데, 굳이 사용할 필요는 없다.


3. send method는 다음과 같은 방법으로 사용할 수 있다.

(1) send

(2) send {string}

(3) send {DOM object}

(4) send {stream object}


이중 첫번째의 경우처럼 parameter없이 send만 할 경우에는 앞서 언급했듯이 open할 때 GET으로 사용할 수 있다.


기본적으로 XMLHTTP는 UTF-8 인코딩을 하게된다. 따라서 string으로 send를 하는 경우에는 UTF-8 인코딩을 거쳐서 변환된 string이 전송되므로 한글을 사용하는 경우에는 알아볼 수 없는 문자로 깨지게 된다.


일반적으로 XML을 전송할 때는 세번째의 경우를 많이 사용한다. DOM object를 사용하면 DOM object에서 정의한 인코딩 방식을 먼저 따르게 되므로 euc_kr이나 ks_c_5601_1987 등의 한글 인코딩을 하여 보내면 한글이 깨지지 않는다.


stream object는 ADO 2.5부터 지원하는 개체로서, ADODB.Stream을 이용하는 것이다. 이 경우는 UTF-8로 인코딩하지 않고 stream 그대로 전송한다.


4. XMLHTTP에서 특정 URL을 open하는 방식은 HTTP Redirect방식이 아니라, 직접 해당 URL을 가지고 오는(get) 방식이다. 따라서 웹브라우저와 관계없이 XMLHTTP가 실행되는 서버에서 해당 URL을 호출하므로, 그 URL이 DNS에 등록되지 않은 상태에서 테스트할 때는 반드시 테스트하는 PC 뿐만 아니라, 해당 서버의 hosts 파일에도 해당 URL이 등록되어 있어야만 정상적으로 실행된다.


이상~ ^^; 


'Tech: > XML·XSL' 카테고리의 다른 글

XSL 사용예제 - DNA 구조 ^^;  (0) 2008.06.26
XSL 기본문법(2)  (0) 2008.06.26
DOM(2)  (0) 2008.06.26
DOM(1)  (0) 2008.06.26
XSL 기본문법(1)  (0) 2008.06.26


Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]