이 두 객체는 ASP가 제공하는 가장 일반적으로 사용되는 두 개의 객체입니다. 브라우저 (또는 다른 사용자 에이전트)와 웹 서버 사이에서 요청과 응답 사이의 정보 교환은 ASP의 두 개의 객체를 통해 액세스하고 관리 할 수 있습니다.
ASP 페이지에서 수행되는 거의 모든 작업은이 두 객체를 사용하는 방법에 액세스해야합니다. 물론, 그들의 주요 용도는 서버로 다시 전송 된 사용자의 값, 즉 HTML 페이지의 <form> 단락에서 쿼리 문자열로 URL을 얻거나 첨부 한 것입니다. 사용자에게 반환하면 같은 요소를 많이 공유 할 수 있습니다. 예를 들어, 두 개체 모두 클라이언트 컴퓨터에 저장된 쿠키를 사용할 수 있습니다.
클라이언트 및 서버의 커뮤니케이션
공간을 절약하기 위해 "브라우저"라는 단어가 다음 내용에 사용됩니다. 그러나 기억해야 할 것은 웹 페이지에 액세스 할 수있는 응용 프로그램은 브라우저가 아니라는 것입니다. 브라우저에는 다른 어려움이있는 다른 사람들이 있습니다. 가장 분명한 예는 검색 엔진이 웹에서 사이트의 로봇에 액세스하는 데 사용된다는 것입니다. 일반적인 웹 브라우저를 포함한 이러한 요소에서 정확한 어휘는 사용자 에이전트 여야합니다.
페이지 요청 대화
브라우저가 웹 사이트에 페이지 요청을 할 때 서버에 요청하는 페이지를 알려야합니다. 가장 먼저해야 할 일은 도메인 이름을 통해 서버와 연결을 설정 한 다음 필요한 페이지의 전체 경로와 이름을 제공하는 것입니다. 왜 전체 경로와 이름을 원하십니까? 웹은 국경없는 환경이므로 모든 고객의 세션 로고를 만들어야합니다.
즉, 서버가 고객에게 전송 될 때마다 서버는 고객을 완전히 잊어 버립니다. 따라서 고객이 다음 페이지를 요청하면 새 방문자와 정확히 동일합니다. 서버는이 고객을 기억할 수 없습니다. 상대적인 경로는 페이지를 제공하는 데 사용될 수 없으므로 페이지에 상대 링크가 포함되어 있더라도 다음과 같이 작동하지 않습니다.
<ahref = "doubled.asp"> NextPage </a>
브라우저는 전체 새 페이지 URL을 자동으로 구축하여 현재 페이지의 도메인과 경로를 사용하거나 <head> 단락의 <base> 요소를 사용하여 브라우저의 모든 링크의 URL을 알려줍니다. 예를 들어:
<baseherf = http://www.wrox.com/store>
마우스를 페이지의 링크에 가리키면 브라우저의 상태 표시 줄에서 볼 수 있습니다. 현재 페이지의 경로와 현재 도메인 이름 또는 기본 또는 기본 경로는 이미 요청 페이지 이름과 결합되어 있습니다.
1. 고객 요청에 대한 세부 사항
요청 페이지의 전체 경로와 이름의 조합은 브라우저 요청 페이지에서 브라우저 요청 페이지를 요청할 때 서버를 보내는 브라우저의 유일한 거주지입니다. 실제 정보 컨텐츠는 다른 브라우저와 함께 변경되며 검색 엔진 로봇과 같은 다른 응용 프로그램에서는 몇 가지만 제공 할 수 있습니다. 정보를보다 명확하게 이해하기 위해 다음은 ie5.0에서 페이지 http://www.wrox.com/store/ 쌍 페이지입니다.
Download.asp 요청 정보 :
7/8/9910 : 27 : 16SENTGET/Store/Download.ASPHTTP/1.1
수락 : 응용 프로그램/msword, 응용 프로그램/vnd.ms-execl, application/vnd.ms-
PowerPoint, 이미지/gif, 이미지/x-xbitmap, 이미지/jpeg, 이미지/pjpeg, 응용 프로그램/x-
혜성,*/*
허용 : en-us
인코딩 : gzip, deflate
참조 : http://ww.wrox.com/main_menu.asp
쿠키 : VisitCount = 2 & lastdate = 6%2f4%2f99+10%3A13+AM
사용자 에이전트 : Mozilla/4.0 (호환; MSIE5.0; Windows98)
호스트 : 212.250.238.67
연결 : KEP-ALIVE
이 정보는 사용자 에이전트와 사용자 연결의 세부 사항 (예 : 기본 언어)에 관한 것이며, 이는 MIME 유형입니다 . 브라우저는 여러 이미지 파일과 다양한 MicrosoftOffice 파일 유형을 허용 할 수 있습니다. TESX/HTML 및 텍스트/텍스트와 같은 "표준"파일 유형은 그 안에 나열되지 않습니다. 파일 목록에서*/*는 브라우저로 다시 전송되어 브라우저에서 설명하거나 플러그인 애플리케이션을 통해 설명됩니다.
쿠키 : 항목에 포함 된 쿠키는 클라이언트의 컴퓨터에 저장되며 도메인에만 유효합니다. 요청이 브라우저의 주소 표시 줄에 직접 URL을 입력하는 대신 링크를 클릭 한 결과 인 경우 다음을 참조하십시오. 항목이 표시되면 링크 페이지의 전체 URL이 포함됩니다.
호스트 : 항목에는 IP 주소 또는 고객 컴퓨터 이름이 포함되어 있습니다. 그러나 이것은 클라이언트를 정확하게 구별하기에 충분하지 않습니다. ISP를 통해 연결되면 IP 주소가 동적으로 할당되거나 프록시 서버가 연결되면 IP 주소는 실제 클라이언트가 아닌 프록시 시스템입니다.
2. 서버 응답에 대한 세부 정보
위의 요청에 대한 응답과 페이지는 익명 브라우저에 대한 요청을 제공 한 경우 (즉, 사용자 이름 및 액세스 비밀번호를 제공 할 필요가 없음) 다음 컨텐츠는 서버에서 클라이언트로 전송됩니다.
7/8/9910 : 27 : 16receivedttp/1.1200ok
서버 : Microsoft-IIS/5.0
연결 : KEP-ALIVE
날짜 : THU, 8JUL199910 : 27 : 16GMT
내용 유형 : Text/HTML
수락 범위 : 바이트
컨텐츠 별 : 2946
최후의 수정 : T, 8Jul199910 : 27 : 16GMT
쿠키 : VisitCount = 3 & lastdate = 7%2f8%2f99+10%3A27%3A16+AM
<html>
… restofpage ...
</html>
서버는 클라이언트에 사용하는 소프트웨어와 버전을 설명합니다. 첫 번째 줄은 HTTP 프로토콜과 리턴 코드의 상태가 사용됨을 나타냅니다. "200ok"정보는 요청이 수락되고 만족되었음을 의미합니다. 이후의 정보는 MIME 유형 특유의 Mime Type :), 크기 (바이트), 최근 변경 및 클라이언트에 저장된 쿠키를 포함하여 반환 된 페이지의 세부 사항입니다. 응답의 다른 정보는 페이지 컨텐츠의 정보 흐름입니다.
경우에 따라 서버가 요청에 응답 한 후에는 페이지가 존재하지 않거나 고객이 해당하는 권한이 없기 때문에 페이지를 반환 할 수 없습니다. 나중에 보안 문제에 대해 논의 할 것입니다. 이제 요청 페이지가 존재하지 않는 상황에 대해 (예 : 사용자가 브라우저 주소 표시 줄에 잘못된 URL을 입력했으며) 반환 된 정보는 다음과 같습니다.
7/8/9914 : 27 : 16receivedTP/1.1404NotFound
서버 : Microsoft-IIS/5.0
보리 베기
여기에서 상태 코드 및 정보는 고객의 요청 페이지를 찾을 수 없음을 나타냅니다. 브라우저는이 정보를 사용하여 사용자에게 해당 정보를 표시 할 수 있습니다 (이 상황은 IE5.0에 서버의 응답 정보가 표시되지 않으며 해당 "HELP SEX"오류 프롬프트 페이지가 표시됩니다). 서버는 서버의 설정에 따라 서버를 표시 할 수 있습니다.
요청 및 응답 개체
ASP의 고객 요청 및 서버 응답을 적용 할 수있는 세부 사항은 ASP Build -in 요청 및 응답 개체에 의해 달성됩니다.
· 요청 개체 : 클라이언트가 페이지를 요청하거나 창을 전달할 때 클라이언트가 제공 한 모든 정보와 함께 스크립트를 제공합니다. 여기에는 브라우저 및 사용자를 표시 할 수있는 HTTP 변수 와이 도메인 이름 아래 브라우저에 배치 된 쿠키, 쿼리 문자열로 URL 뒤에있는 <FORM> 섹션의 <FORM> 섹션에 첨부 된 문자열이 포함됩니다. 본질 또한 SSL (SecuresocketLayer) 또는 기타 암호화 된 통신 프로토콜 사용에 대한 승인 된 액세스를 제공하며 연결을 관리하는 데 도움이됩니다.
· 응답 개체 : 서버 측에서 생성 된 동시 응답 정보에 액세스하는 데 사용됩니다. 서버 및 서버의 기능 및 브라우저의 내용에 대한 정보 및이 도메인의 브라우저에 저장 될 새 쿠키를 나타내는 스크립트에 대한 HTTP 변수를 제공하십시오. 또한 유비쿼터스 응답. 쓰기 방법과 같은 출력을 생성하는 일련의 방법을 제공합니다.
<H3> 요청 객체의 멤버의 개요 </h3>
요청 객체 모음
문법:
응답
요청 객체는 웹 서버에서 요청한 클라이언트의 다양한 정보에 액세스하기 위해 5 개의 세트를 제공합니다.
ClientCertified
클라이언트가 한 페이지 또는 기타 리소스에 액세스하면 고객의 고객 인증서를 서버에 표시하는 데 사용되는 모든 필드 또는 항목의 숫자 수집은 각 회원 만 읽습니다.
쿠키
사용자의 요청에 따르면, 사용자 시스템에서 발행 한 모든 쿠키 값의 수집은 해당 도메인에만 효과적이며 각 멤버 만 읽습니다.
형태
메소드의 속성 값이 게시되면 요청 된대로 <form> 단락의 <form> 섹션의 모든 멤버는 각 멤버 만 읽습니다.
쿼리 스트링
사용자가 요구하는 URL 뒤에있는 이름/값 쌍 또는 요청으로 제출 된 메소드 속성은 GET (또는 속성을 생략 함) 또는 <FORM>의 모든 HTML 제어 장치의 값을 읽고, 각 멤버는 읽는 것만으로 만 읽습니다.
ServerVariable
클라이언트 요청과 함께 발행 된 HTTP 헤더 값과 웹 서버의 여러 환경 변수 값 수집을 통해 각 멤버 만 읽습니다.
두 요청 객체의 속성
요청 객체의 유일한 속성은 아래 표에 나와 있습니다. 전체 요청 문자열.
Totlbytes
읽기 전용, 클라이언트가 요청한 전체 바이트 번호를 반환합니다.
세 가지 요청 객체의 방법
요청 객체의 유일한 방법과 지침은 아래 표에 나와 있습니다.
Binaryread (count)
사후 요청의 일부로 데이터가 서버로 전송되면 Count Byte의 데이터는 고객의 요청에서 얻어지고 변형 배열 (또는 SafeArray)이 반환됩니다. ASP 코드가 request.form set을 인용 한 경우이 메소드를 사용할 수 없습니다. 동시에 Binaryread 메소드를 사용하는 경우 요청에 액세스 할 수 없습니다.
<H3> 응답 개체 개요 </h3>
문법:
응답
1. 컬렉션
응답 객체에는 하나의 컬렉션 쿠키 만 있으며 쿠키 데이터 세트는 데이터를 클라이언트의 브라우저로 설정할 수 있습니다. 지정된 쿠키가 존재하지 않으면 작성하십시오. 존재하는 경우 데이터를 자동으로 업데이트하십시오.
문법 : 응답 .cookies (쿠키) [key.attribute]
여기 쿠키는 지정된 쿠키의 이름입니다. 키가 지정되면 쿠키는 사전입니다. 속성 쿠키 자체에 대한 관련 정보를 지정합니다. 속성 매개 변수는 다음 중 하나 일 수 있습니다.
도메인은 만 작성됩니다. 지정된 경우 쿠키는 도메인 요청으로 전송됩니다.
쓰기 만 만료합니다. 쿠키의 만료 날짜를 지정하십시오. 세션이 끝난 후 클라이언트 디스크에 쿠키를 저장하려면 날짜가 설정되어야합니다. 이 속성의 설정이 현재 날짜를 초과하지 않으면 작업이 끝나면 쿠키가 만료됩니다.
Haskeys 만 읽습니다. 쿠키에 키워드가 포함되어 있는지 지정하십시오.
경로는 작성된 것입니다. 지정된 경우 쿠키는 경로 요청에만 보냅니다. 속성이 설정되지 않은 경우 응용 프로그램의 경로가 사용됩니다.
Secure는 작성된 것입니다. 쿠키가 안전한지 지정하십시오.
2. 방법
응답 .addheadername, 값
답에 새로운 HTML 제목을 추가하십시오. 이름은 새로운 HTML 제목의 이름입니다. 값은 헤드 변수의 값입니다. 이름과 값으로 HTML 제목을 추가 할 수 있습니다. 동일한 이름의 기존 제목을 대체하지 않습니다. 제목이 추가되면 삭제되지 않습니다.
응답
웹 서버의 로그 바에 문자열을 추가하십시오. 문자열은 로그 파일에 추가 할 문자열입니다.
응답 .BinaryWritedData
이 방법은 문자 변환없이 공식 정보를 HTTP 출력에 쓸 수 있으며, 이는 주로 비 스트링 정보 (예 : 클라이언트 응용 프로그램에 필요한 이진 데이터 등)를 작성하는 데 사용됩니다. 데이터는 전송 될 데이터입니다.
응답
버퍼에서 모든 HTML 출력을 삭제하지만 응답 제목을 삭제하지 않고도 응답 텍스트 만 삭제하십시오. 이 방법을 사용하여 오류를 처리 할 수 있습니다. Response.Buffer가 true로 설정되면이 방법으로 작업이 잘못되게됩니다.
응답. 엔드
Web Server가 더 많은 스크립트 수행을 중지하고 현재 결과를 보내도록 강요되면 파일의 나머지 콘텐츠는 처리되지 않습니다. Response.Buffer가 true로 설정된 경우 응답을 호출하십시오. 엔드는 버퍼 출력을 제공합니다.
응답. 플러시
쿠션 응답의 경우 모든 버퍼 정보를 보내십시오. Response.Buffer가 true로 설정되면이 메소드는 작동이 잘못되게합니다.
Response.RedirectUrl
클라이언트 브라우저를 새로운 인터넷 주소로 줄입니다. URL은 새로운 웹 페이지의 인터넷 주소입니다.
응답 .WriteVariant
Response.Write는 응답 객체에 가장 일반적으로 사용되는 방법입니다. 변형은 문자열 또는 문자열 값을 가진 변수입니다.
세, 속성
응답 .buffer
쿠션 activeserverpage. 응답은 특정 페이지 또는 응답 끝으로 만 전송됩니다. 플러시 또는 응답 메소드. 서버가 클라이언트로 전송 된 후 버퍼 속성을 설정할 수 없습니다.
응답 .cachecontrol
프록시 서버가 activeServerPage를 캐시 할 수 있는지 여부를 표시합니다. 기본값이 있으면 값은 False입니다. 프록시 서버는 ASP에 의해 생성 된 출력을 버퍼링 할 수 있습니다.
response.charset (charsetname)
컨텐츠 유형 제목 뒤의 응답 객체에 문자 세트 이름 (예 : GB)을 첨부 한 다음 웹 서버를 설정하여 클라이언트에 파일 문자 코드에 응답합니다. 가능한 값은 "iso_latin_1"입니다.
응답 .contentType
응답 내용의 유형을 나타냅니다. 가능한 값은 텍스트/일반 및 이미지/gif 및 기본값 텍스트/HTML입니다.
응답 .expires
브라우저는 현재 페이지의 시간 길이를 몇 분만에 캐시 할 수 있습니다.
응답 .expiresabsolute
브라우저는 현재 페이지의 날짜와 시간을 캐시 할 수 없습니다. 만료되기 전에 반환 할 수 있습니다. 시간이 지정되지 않으면 홈페이지는 같은 날 자정에 만료됩니다.
true/false = response.isclientConnect
속성은 읽기 만하면 클라이언트가 마지막 응답 호출 이후 서버에 여전히 연결되어 있는지 여부를 나타냅니다. 이 속성을 통해 사용자는 클라이언트와 서버를 연결하지 않고 더 많은 제어를 할 수 있습니다. 예를 들어, 클라이언트로부터 요청을 요청하는 것이 서버에 해당 해야하는 경우 오랫동안이를 사용해야 할 경우 스크립트를 계속 처리하기 전에 클라이언트가 여전히 연결되도록하는 데 도움이 될 수 있습니다. 귀중한 참 또는 거짓이 있습니다.
응답 .pics (사진 문자열)
웹 페이지를 추가하기위한 사진 레벨. PICS 수준은 폭력 또는 음란물의 정도와 같은 웹 페이지의 내용 수준을 나타냅니다.
응답 .Status = 상태 설명 문자열
웹 서버의 상태 값을 응답하도록 설정하는 데 사용됩니다.