서버 XML HTTP(Server XML HTTP in ASP)기초 지식

3591 단어 서버XMLHTTP
Ajax 에 비해 서버 XMLHTTP 는 서버 에서 XMLHttpRequest 대상 을 사용 합 니 다.서버 에서 비동기 요청 을 사용 하 는 것 은 불편 하 다 고 하지만 서버 에서 HTTP 요청 을 보 낼 수 있 는 구성 요소 로 서 배 워 보 는 것 도 나 쁘 지 않다.여기 서 제 가 말 하 는 것 은 ASP 환경 에서 서버 XMLHttpRequest 를 사용 하고 JScript 를 데모 코드 로 하 는 언어 입 니 다.따라서 ASP 와 JScript 를 알 아야 합 니 다.서버 XMLHTTP 는 원 격 호스트 의 웹 페이지 나 다른 내용 을 가 져 오 는 데 사 용 됩 니 다.뉴스 취 합 시스템 은 일반적으로 서버 XMLHTTP 대상 을 사용 하여 취 합 할 피 드 의 내용 을 가 져 온 다음 XMLDOM 대상 을 사용 하여 피 드 의 내용 을 분석 하고 뉴스의 제목,작성 자,내용 등 정 보 를 꺼 내 데이터베이스 에 존재 합 니 다.그리고 몇 개의 데이터 소스 뉴스 를 함께 표시 합 니 다.새 우 를 잡 는 것 은 바로 이러한 뉴스 취 합 기 입 니 다.그러나 이것 은 ASP 로 쓴 것 이 아 닙 니 다.)ASP 에서 우 리 는 다음 코드 로 ServerXMLHTTP 대상 을 만 들 수 있 습 니 다.이 대상 은 바로 우리 가 서버 에서 모든 조작 을 하 는 기초 입 니 다
 
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.5.0");
먼저 ServerXMLHTTP 대상 에 게 어떤 유용 한 방법 이 있 는 지 알 아 보 겠 습 니 다.1.abort 라 는 방법 은 XMLHTTP 의 요청 을 취소 하 는 데 사 용 됩 니 다.XML HTTP 대상 이 비동기 방식 으로 요청 을 보 내 면 일정 시간 에 도달 해도 요청 이 되 돌아 오지 않 으 면 이 방법 으로 요청 을 취소 할 수 있 습 니 다.2.getAll Response Headers 이 방법의 반환 값 은 HTTP 요청 의 머리 에서 요청 방법,URI,프로 토 콜 버 전 정 보 를 제거 한 문자열 입 니 다.3.getResponseHeader 라 는 방법 은 지 정 된 머리 정 보 를 얻 는 데 사 용 됩 니 다.비교적 유용 한 것 은 데 이 터 를 되 돌려 주 는 Content-Type,Refer 등 을 얻 을 수 있 습 니 다.4.open 에서 지정 한 요청 방법,URI 와 동기 화 방식,인증 정보 등 을 사용 하여 요청 을 초기 화 합 니 다.5.send 는 HTTP 요청 을 보 내 고 응답 데 이 터 를 받 을 때 까지 기 다 립 니 다.동기 화 방식 으로 요청 을 보 내 면 send 방법 이 호출 된 후 바로 돌아 오지 않 고 요청 이 완 료 된 후에 야 돌아 오 며 비동기 방식 으로 요청 하면 바로 돌아 갑 니 다.또한 send 방법 은 보 낼 데 이 터 를 표시 하 는 선택 가능 한 매개 변수 body 를 가지 고 있 습 니 다.이것 은 POST 방법 을 사용 할 때 유용 합 니 다.6.setTimeout 은 ServerXMLHTTP 대상 의 4 개의 시간 초과 시간 을 설정 합 니 다.각각 도 메 인 이름 분석,서버 연결,데이터 전송,응답 수신 입 니 다.서버 XML HTTP 대상 이 제때에 돌아 오지 못 해 프로그램 이 응답 을 멈 추 지 않도록 시간 초과 설정 을 통 해 제어 할 수 있 습 니 다.7.setRequestHeader 설정 요청 한 Header 는 클 라 이언 트 XML HttpRequest 에서 요청 한 데이터 형식 이나 표지 요청 방법 등 을 설정 합 니 다.예 를 들 어 jquery 는 머리 표지 X-Request-Whis 를 추가 하여 요청 은 XML HttpRequest 대상 에서 보 내 서 서버 에서 해당 하 는 동작 을 편리 하 게 하 는 것 을 의미 합 니 다.8.waitForResponse 는 비동기 방식 으로 요청 을 보 낼 때 이 방법 으로 요청 한 프로 세 스 를 제어 할 수 있 습 니 다.서버 스 크 립 트 에 서 는 클 라 이언 트 처럼 리 셋 함 수 를 직접 사용 하여 비동기 요청 을 제어 할 수 없고 프로그램 을 사용 하여 일정한 시간 을 휴면 할 수 없습니다.따라서 요청 이 돌아 오 기 를 기다 리 기 위해 서 는 이 방법 을 사용 하여 일정 시간 을 기다 릴 수 있 습 니 다.또한 getOption,setOption,setProxy 등 다른 방법 도 있 는데 이런 방법 은 비교적 적 게 사용 되 기 때문에 여기 서 소개 하지 않 고 알 아야 할 친 구 는 MSDN 을 찾 아 볼 수 있 습 니 다.다음은 ServerXMLHTTP 대상 의 속성 을 살 펴 보 겠 습 니 다.1.onreadystatechange XMLHTTP 대상 상태 가 바 뀌 었 을 때의 리 셋 함수 입 니 다.이 속성 은 비동기 작업 에 기반 을 다 져 주 었 습 니 다.프로그램 이 XMLHTTP 대상 상 태 를 조회 하지 않 아 도 XMLHTTP 작업 이 완료 되 었 는 지 알 수 있 습 니 다.2.ready State XML HTTP 대상 상 태 는 5 개의 값 이 있 습 니 다.0 에서 4 까지 각각 0-초기 화 되 지 않 았 습 니 다.new ActiveXObject("MSXML.ServerXML HTTP.5.0")를 사용 하여 만 들 었 을 때 대상 이 있 는 상태 1-불 러 오 는 중,이때 open 방법 이 호출 되 었 으 나 send 방법 으로 데 이 터 를 보 내지 않 았 습 니 다.2-불 러 왔 습 니 다.send 방법 으로 데 이 터 를 보 냈 지만 사용 가능 한 응답 흐름 이 없습니다.3-상호작용 중 입 니 다.데 이 터 를 받 고 있 습 니 다.이 럴 때 responseBody 와 responseText 속성 을 사용 하여 이미 받 은 일부 데 이 터 를 얻 을 수 있 습 니 다.4-요청 이 완료 되 었 습 니 다.모든 데 이 터 는 일반적인 상황 에서 상태 4 만 판단 하면 됩 니 다.이 때 데이터 가 모두 불 러 왔 습 니 다.responseBody 나 responseText 속성 을 사용 하면 필요 한 데 이 터 를 얻 을 수 있 습 니 다.3.status HTTP 응답 상태 코드 는 정상 상태 가 200 이 어야 하 며 요청 한 자원 이 존재 하지 않 으 면 404 로 되 돌아 가 고 서버 오류 500 등 다른 상태 코드 도 있 습 니 다.4.status Text HTTP 응답 상태 텍스트 는 응답 상태 코드 가 대표 하 는 뜻 을 설명 하 는 데 사 용 됩 니 다.예 를 들 어 200 OK 의 OK,404 Not Found 의 Not Found 5.response Body 응답 데이터 의 바이트 배열 은 VBScript 에서 직접 사용 할 수 있 지만 JScript 에서 변환 해 야 합 니 다.6.responseText 는 응답 데 이 터 를 텍스트 로 가 져 옵 니 다.7.responseXML 은 응답 데 이 터 를 XML 덤 대상 으로 되 돌려 줍 니 다.요청 한 데 이 터 는 XML 문서 일 때 특히 유용 합 니 다.8.responseStream 응답 스 트림 대상 입 니 다.이 속성 은 자주 사용 되 지 않 습 니 다.

좋은 웹페이지 즐겨찾기