1. Response 객체 Response 객체는 응답이라는 그 용어에서 알 수 있듯이 서버가 클라이언트의 요청에 응답하는 객체이다. 즉 서버에서 클라이언트로 자료를 전송하는데 관련된 객체이다. 이때 서버에서 클라이언트로 전송되는 자료들은 HTTP 헤더정보, 텍스트, HTML 태그 , 클라이언트 Script-x 등의 자료가 전송되어 진다. 일단 Response 객체가 가지고 있는 기능은 전체적으로 한번 살펴 보도록 하자 . (1) 컬렉션(Collection)
(3) 메소드(Method)
머리가 아프다. 이걸 전부다 꼭 전부다 알아야 하나? 공부 해야만 하나? 차라리 포기할까? 지금 막 ASP를 시작하는 사람들에게는 많아 보이는 것은 당연하다. 하지만 기본적으로 자주 사용되는 것(빨간색으로 표시된것들..)만 우선 익혀 놓고 나머지는 어느 정도 익숙해진 다음에 살펴보는 것도 괜찮다. 가장 많이 사용하는 것은 아마도 write 메소드가 아닌가 싶다. write 하나만 알아도 간단한 ASP동작을 시키는데 별 지장이 없을 것이다. 2. 쿠키 컬렉션(Cooki colletion) (1) 컬렉션 컬렉션이란 웹에서 사용되는 독특한 자료형으로 'Data' 와 그 데이터를 찾을 수 있는 'Key' 의 쌍으로 구성되어져 있다. 즉 저장되어져 있는 data를 key로 구분하여 처리하는 것이다.
(2) 쿠키 쿠키는 웹서버가 클라이언트에 임의의 정보를 보관하기 위해 사용하는 컬렉션이다. 이는 웹서버가 클라이언트에 대한 관리 목적이나 처리 목적으로 특별한 정보를 사용하는데 그 정보를 서버에 두지 않고 클라이언트에 심어 놓고, 필요할 때 그 데이터를 취해 사용한다. 이렇게 하는 이유중 하나가 서버의 부담을 줄이기 위해서다. 쿠키 컬렉션을 이용하여 클라이언트에 정보를 저장하는 방법은 다음과 같다.
사용예는 다음과 같다.
사용예는 다음과 같다.
쿠키에는 다음과 같은 속성이 있다.
쿠키는 수명이 있다. 이를 만료기간이라고 하는데 이를 지정하지 안으면 브라우저가 종료하는 순간에 쿠키가 소멸된다. 만료기간은 Expries 속성에 날짜를 지정하면 쿠키는 지정한 날짜까지 유지된다. 3. Response 객체의 속성 (1) Buffer 예전 강의에서 클라이언트가 ASP문서를 요청할 때 서버에서는 그 ASP파일에 대한 처리를 할때 서버측에서 임시로 HTML문서를 만든 다음에 완성된 HTML문서를 클라이언트에게 전송한다고 말했었다. 이때 사용하는 것이 서버의 버퍼링이다. Buffer의 속성은 페이지 출력을 버퍼링할 것인지의 여부를 나타낸다. 값은 True와 False로 지정한다. ASP 3.0 이후 버전부터는 True 가 기본값이다. 때문에 별도로 설정하지 않아도 된다. 버퍼링이 지정되면 Flush나 End 메소드가 요청될 때까지 클라이언트에 응답을 보내지 않는다. Buffer 속성은 서버가 클라이언트에게 출력을 보낸 후에는 적용되지 않으므로 ASP파일의 가장 앞부분에 위치시켜야만 한다. Buffrt 속성은 쿠키에러를 방지하거나 Redirect 메소드 사용시 에러를 방지하는데 사용한다. (2) Expires 프록시 서버가 ASP에 의해 생성된 결과를 캐싱할지 여부를 결정한다. 즉, 웹 프라우저의 캐싱기능에 의해 페이지를 표시하는 기능을 조절한다.
Expires 속성은 분단위로 설정해 주면 된다. -1로 지정해 주면 브라우저 해당 페이지의 캐싱이 즉시 종료 되므로 캐싱을 억제 할 수 있다. 다만 페이지의 첫부분에 적어 줘야 한다.
만일 0 을 설정하게 되면 매번 방문할 때마다 웹서버에서 다시 문서를 읽어 오도록 설정는 것이다. (2) ExpiresAbsolote ExpiresAbsolote 는 분으로 상대적인 기간을 정하는 것이 아니라 정확한 시간을 지정해 주는 것이다.
날짜와 시간을 표시하는 방법은 시스템 로케일마다 다르게 표시할 수 있다. 날짜 시간은 반드시 # 기호를 이용하여 표시하여야만 한다. 이 속성은 지정된 날짜 및 시간가지만 캐싱하게 된다.
Response.Charset 속성은 HTML문서의 헤더 정보에 문자 셋 정보 설정하는 속성으로 다음과 같은 형식으로 사용한다.
자세한 내용은 NSDN에서 확인하기 바란다. 주소는 다음과 같다. (4) Contenttype Response.Contenttype 속성은 서버에서 클라이언트로 전달되는 자료의 형식을 설정하는 속성이다.
마임(MIME : Multi-purpose Internet Multimedia Extention 또는 Multi-purpose Internet Mail Extention) 은 표준화 되어 있는 표기법을 사용한다. (5) Status Response.Status 속성은 웹서버에서 클라이언트로 전송하는 상태정보값을 설정한다.
읽기전용으로 클라이언트 브라우저에서 서버로의 연결을 해제했는지의 여부를 알려준다. 즉, 브라우저를 종료했는지의 여부를 알 수 있게 해준다. 종료되었을 경우 False를 리턴해 준다. 다음과 같이 연결이 종료되었을 경우 작업이 필요할때 다음과 같이 처리할 수 있다.
4. Response 객체의 메소드 (1) Write 메소드 Write 메소드는 클라이언트에 문자열을 출력하기 위해 사용하는 메소드이다. 사용법은 다음과 같다.
(2) Flush 메소드 버퍼링이 true로 설정되어 있을때 현재까지의 버퍼링된 자료, 즉 클라이언트로 전달될 HTML 문서자료를 즉시 전송해 준다. 이 후 생성되는 HTML자료는 계속해서 버퍼링을 하도록 하는 메소드이다. 다음 예를 보도록 하자 [ flush.asp ]
살행보면 결과는 먼저 화면에 첫번째 결과가 나타나고 잠시후 2번째 결과가 화면에 나타날 것이다. 이 기법은 내용이 아주 많아 버퍼링이 오래 걸리는 페이지가 있다면 사용자는 매우 지루하게 기다릴 것이다. 일단 우선 처리된 내용을 전송하면 사용자는 기다리는 시간을 조금이나마 줄여주는 장점이 있다. (3) End 메소드 End 메소드는 버퍼링이 설정된 상태에서 현재까지 버퍼링이 괸 내용만을 전송하고 더 이상 진행하지 않고 ASP 실행을 강제적으로 종료한다. [ end.asp ]
결과를 보자 (4) Clear 메소드 response.clear 메소드를 만나면 현재 버퍼링이 되어 있는 내용을 버퍼에서 지운다. clear 이후에 실행되는 문장들은 다시 버퍼링이 계속된다. [ clear.asp ]
(5) Redirect 메소드 Redirect 메소드는 현재 문서에서 다른 문서로 이동하고자 할때 Response.Redirect 메소드를 이용한다. 사용하는 방법은 다음과 같다.
이 redirect를 사용할 때 주의사항과 제약사항이 있다. 먼저 URL로 작성하는 경우 "http://" 를 반드시 써야 한다는 것이다. 만약 사용하지 않고 www.naver.com 만 기입하였다면 파일로 인식할 것이다. 그리고 에러를 발생할 것이다. 두번재는 프레임등을 사용할 때와 같이 프레임을 이동하거나 새창을 오픈하여 처리하는 target 속성을 줄 수 없다. 즉 자신의 프레임에서만 이동이 가능하다. target 속성이 필요하다면 redirect 대신 JavaScript-x 에서 사용하는 location.href 를 이용하여만 할 것이다.
Response.AddHeader 메소드는 클라이언트로 전달할 HTML 문서의 헤더 정보에 자료를 추가하기 위해 사용메소드이다.
Response.AppendToLog 메소드는 웹서버의 로그 파일에 현재 로그를 저장하는 메소드이다. 이 경우 웹서버는 W3C Extended Log File Format을 사용하고 있어야 한다.
(8) BinaryWrite 메소드 Response.BinaryWrite 메소드는 바이너리 자료를 클라이언트의 웹브라우저에 표시할때 사용하는 메소드 이다.
|
'asp' 카테고리의 다른 글
ASP 정규식을 이용하여 문자열 패턴 적용하기 (0) | 2010.03.03 |
---|---|
http://www.xx.xx/domain <ㅡ 이런식으로 주소 사용하기 (0) | 2010.03.03 |
Response 객체 (0) | 2010.02.24 |
Microsoft CAPICOM (0) | 2010.02.22 |
IsNull과 IsEmpty 의 차이점 비교 (0) | 2010.02.09 |
트랜잭션으로 여러 ASP 페이지를 연결시키는 방법 (0) | 2010.01.08 |