객체 및 객체 모델 데이터 전송 방식 Request 객체 Response 객체

Slides:



Advertisements
Similar presentations
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
Advertisements

Chapter06 폼 HTML5 Programming.
Chapter 07 : 서블릿 고급2. chapter 07 : 서블릿 고급2 학습목표 세션 tracking hidden 태그 이용 encodeURL 메소드 사용법 URL 파라미터 이용 쿠키 이용 세션 이용 encodeURL 메소드 사용법.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
CHAP 22. 블루투스.
Oozie Web API 기능 테스트 이승엽.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
OpenAPI의 응용 인공지능 연구실.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
제 9 장 구조체와 공용체.
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
Chapter05 오디오와 비디오 HTML5 Programming.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
5장. 참조 타입.
8장. 원격지 시스템 관리하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
전광판 어플 크레파스통 도상미 박아란 이민영.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
KHS JDBC Programming 4 KHS
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
26강. 포워딩(Forwarding) RequestDispatcher 클래스 HttpServletResponse 클래스
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
인터넷응용프로그래밍 JavaScript(Intro).
게임웹사이트운영 [10] 폼 작성.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Nessus 4 설치 정보보호응용 조용준.
Ⅰ. ASP개체 모델 Ⅱ. Request 개체 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
8장 쿠키와 세션 한빛미디어(주).
웹디자인
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
12장 쿠키와 세션 이장에서 배울 내용 : 쿠키와 세션은 웹 페이지 간에 정보를 유지할 때 사용된다. 쿠키와 세션은 사용되는 형태가 비슷하나, 쿠키는 웹 브라우저(클라이언트) 쪽에 저장되고, 세션은 웹 서버 쪽에 저장된다. 이 번장에서는 이들에 대해 학습한다.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
CHAP 21. 전화, SMS, 주소록.
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
웹(WWW).
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
Introduction to JSP & Servlet
암호학 응용 Applied cryptography
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
함수, 모듈.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
MIDP 네트워크 프로그래밍 ps lab 김윤경.
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
웹에서의 상태 - 변수 발표자 : 지왕태.
CHAP 15. 데이터 스토리지.
7 생성자 함수.
6 객체.
JAVA 프로그래밍 16장 JNLP.
AJAX? Cho Hyun Min.
Ⅰ. Response 개체 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와 데이터를 저장하는.
20 XMLHttpRequest.
Presentation transcript:

객체 및 객체 모델 데이터 전송 방식 Request 객체 Response 객체

객체와 객체 모델 객체 스크립트의 기능을 확장함 스크립트로 스크립트 객체, 서버 객체, 서버 컴포넌트 를 생성하고 이용 구성 프로퍼티(Property) : 속성 메서드(Method) : 동작 이벤트(Event) : 사건 2019-05-06

객체 모델 여러 가지 객체를 관련있는 것끼리 모아서 하나의 구조로 구성한 것 브라우저 객체 모델 : 스크립트와 브라우저간에 인터페이스 역할 수행, 즉, 스크립트와 브라우저 사이에서 일어나는 모든 동작이 바로 브라우저 객체 모델을 통해서 발생 Document.Form1.Element1.value 서버 객체 모델 : ASP에서 프로그램을 작성하는 필요한 서버 객체들을 모아둔 것, 주로 클라이언트와 서버간에 정보를 주고받는데 필요한 객체들 2019-05-06

서버 객체 ASP가 제공하는 객체(Objects) 필요한 환경 정보 등을 파악하고 전송해 주는 역할 클라이언트와 서버간의 정보교환, 서버 및 브라우저 관련 정보 제공… VBScript가 직접 클라이언트(서버)에서 서버(클라이언트)로 자료를 전송할 수는 없음 객체를 호출·사용하여 스크립트 자체가 수행할 수 없는 기능을 완성 구성요소 컬렉션(Collection), 속성(Property), 메소드(Method), 이벤트(Event) 1 객체 및 객체 모델

컬렉션 컬렉션 문자열, 숫자, 객체 등을 저장하는 자료 구조 배열과 유사하지만, 문자열을 키 값으로 이용(배열 : 숫자를 인덱스(키)로 사용) strNamer("Writer") VisitCount("LASTDATE") Request.ServerVariables("REMOTE_ADDR") 배열이 제공하는 기능 + 유연한 처리를 지원(← 항목을 쉽게 찾거나 저장할 수 있음)

속성, 메소드 및 이벤트 속성 메소드 이벤트 객체가 가지는 값 또는 성질 객체가 가지는 내부의 변수나 하위 객체 객체가 수행하는 동작 보통 실행코드로 구성 메소드 : 객체가 가지는 함수에 해당하는 개념 속성 : 객체 내부의 변수 이벤트 객체에서 발생하는 상황 동적 웹 어플리케이션의 제작 → 발생한 이벤트를 처리하는 메소드를 작성

객체 모델 ASP 에서 프로그램을 작성하는 필요한 서버 객체들을 모아놓은것 클라이언트/서버 간에 통신할 때의 정보를 유지 정보 확인, 전달 등에 사용 Client (Browser) Server (ASP Server) Window Server Application Session Response Request Client Script 사용자에게 보여지는 페이지 서버에서 가지고 있는

객체 모델 객체 모델 객체의 각종 종류와 이들 간의 관계 Request 객체: 클라이언트의 정보를 서버로 전달 Response 객체: 서버의 정보를 클라이언트로 전달 Application 객체: 모든 사용자에게 정보를 공유하는 것과 관련 Session 객체: 서비스를 요청한 사용자들의 정보를 저장하는 것과 관련 클라이언트당 하나씩 생성 Server 객체: 서버에 관한 객체 생성, 확장성이 높음 서버 클라이언트 세션 Application Server Session Request Response AspError ObjectContext

Request 객체 HTTP 요청 시 클라이언트(브라우저)가 서버로 전송하는 값을 저장하는 객체 클라이언트가 서버로 보내는 값을 파악해 내어, 이에 따르는 적절한 대응 작업을 수행

Response 객체 서버에서 클라이언트로 전송하는 데이터를 가지는 객체 Request 객체와는 반대되는 개념의 역할을 수행

Application 객체 어플리케이션에 대한 공통적인 정보를 저장하는 객체 예) 현재까지의 특정 어플리케이션 방문자 수 다수의 사용자가 임의의 어플리케이션에 대한 정보를 공유할 수 있도록 지원

Session 객체 개별 사용자에 대한 정보를 저장하는 객체 예) 사용자의 세션 개시나 종료를 나타내는 이벤트 동일 어플리케이션 내의 페이지간에 데이터를 공유할 수 있도록 지원 임의의 사용자에 대하여 Application 객체와 Session 객체의 내용을 모두 적용시킬 수 있음

Server 객체 서버 객체, 컴포넌트 또는 컨트롤을 생성할 수 있도록 지원해 주는 객체 앞서 살펴 본 객체들은 ASP가 제공 → 별도의 정의 과정이나 생성 작업을 거치지 않고서도 바로 사용할 수 있는 객체

데이터 전송 방식(1/5) 클라이언트에서 서버로 정보를 전달하는 방식 GET 방식 POST 방식 클라이언트로부터의 데이터를 이름과 값이 결합된 스트링 형태로 전달 각 이름과 값의 쌍은 “&”를 이용하여 구분 http://localhost/chs/book/Request.asp?Name=Michael&Dept=Computer 웹 브라우저의 주소 입력란에서 위와 같이 직접 입력하여도 데이터를 서버로 전송

데이터 전송 방식(2/5) GET 방식 데이터를 쿼리 스트링(Query String)의 일부로써 전달 <FORM> 태그의 “METHOD” 속성의 값으로는 “GET”을 지정 <FORM action="Request.asp" METHOD="GET">

GET 방식 예 <FORM action="Request.asp" METHOD="GET"> … <FORM action="Request.asp" METHOD="GET"> 성명 : <INPUT id="Name" name="Name" ><BR> 학과 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="Electronic">전자공학 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="Computer">컴퓨터공학 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="electrical">전기공학 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="mechanical">기계공학 <BR> <INPUT id=submit1 name=submit1 type=submit Value=Submit> </FORM>

데이터 전송 방식(3/5) POST 방식 클라이언트와 서버간에 상호 정의되어 있는 형식대로 값을 인코딩한 다음 서버로 전송 내부의 구분자가 각 파라미터(이름과 값)를 구분 서버 : 전달된 스트링을 디코딩 → 각 파라미터를 구분 → 필요한 값들을 추출 클라이언트로부터의 데이터가 HTTP 헤더에 포함되어 전송 브라우저의 주소 입력란에 내용이 나타나지 않음 http://localhost/chs/book/TotalBytes_1.asp

데이터 전송 방식(4/5) POST 방식 <FORM> 태그의 “METHOD” 속성의 값으로는 “POST”를 지정 <FORM METHOD="POST" action="TotalBytes_1.asp">

POST 방식 예 … <FORM METHOD="POST" action="TotalBytes_1.asp"> <INPUT name="Address" size="50"> <P> 학년을 선택하세요 ...... <BR> <INPUT name="year" type="radio" value="1"> 1학년 <BR> <INPUT name="year" type="radio" value="2"> 2학년 <BR> <INPUT name="year" type="radio" value="3"> 3학년 <BR> <INPUT name="year" type="radio" value="4"> 4학년 <BR> <P> <INPUT type="submit" value="전송"> </FORM>

데이터 전송 방식(5/5) GET vs. POST GET 방식 : 기본적으로 데이터베이스에 대한 질의어 데이터와 같은 요청 자체를 위한 정보를 전송할 때 사용 POST 방식 : 데이터베이스에 대한 갱신 작업과 같은 서버측에서의 정보 갱신 작업을 원할 때 사용 일정한 크기 이상의 데이터를 전송할 때에는 POST 방식을 사용 GET 방식을 사용하면 이를 초과하는 데이터가 절단

데이터 전송 방식(5/6) GET 방식을 사용하면 데이터가 주소 입력란에 표시되므로 최소한의 보안도 유지되지 않음 POST 방식을 사용하면 GET 방식에 비해 상대적으로 처리 속도가 늦어짐 POST 방식 : 클라이언트측에서 데이터를 인코딩 → 서버측에서 디코딩

ASP에서의 데이터 이용 방법 Request 객체의 QueryString 컬렉션 사용 GET 방식으로 전달되는 데이터 Request 객체의 Form 컬렉션 사용 POST 방식으로 전달되는 데이터

URL 인코딩 URL 인코딩 URL 부분에서 직접 사용할 수 없는 문자에 대한 데이터 변환 과정 ? : 클라이언트로부터의 전송 데이터가 시작된다는 것을 알려주는 기호 & : 폼으로부터 전달되는 각 데이터 파라미터를 구별하는 문자 = : 데이터 파라미터 내의 이름과 값을 구별하는 식별자 http://search.excite.com/search.gw?search=%22Free+mail%22+…… 인코딩 : “%”와 16진 값을 사용

URL 인코딩 인코딩 전 인코딩 후 공백(Space) + “ %22 ? %3F % %25 + %2B & %26 = %3D 인코딩 전 인코딩 후 공백(Space) + “ %22 ? %3F % %25 + %2B & %26 = %3D 브라우저의 주소 입력란 폼에서의 입력이 다음과 같을 경우

Request 객체(1/8) QueryString 컬렉션 GET 방식으로 전송되는 클라이언트 폼의 데이터에 대한 변수와 값을 가지는 컬렉션 … <FORM action="Request.asp" method="GET"> 성명 : <INPUT id="Name" name="Name" ><BR> 학과 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="Electronic">전자공학 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="Computer">컴퓨터공학 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="electrical">전기공학 <BR> <INPUT type="radio" id="Dept" name="Dept" Value="mechanical">기계공학 <BR> <INPUT id=submit1 name=submit1 type=submit Value=Submit> </FORM>

Request 객체(2/8) “Request.asp” <%@ LANGUAGE=VBSCRIPT %> <HTML> <HEAD> <TITLE> Request 객체 </TITLE> </HEAD> <BODY BGCOLOR="#CCCCFF"> ASP의 Request 객체<HR> <P>The Request.QueryString 콜렉션 <BR> <% For Each Item In Request.QueryString Response.Write Item & " = " & Request.QueryString(Item) & "<BR>" Next %> <HR> </BODY> </HTML>

Request 객체(3/8) <A> 태그의 “HREF” 속성을 사용하는 방법 <HTML> <HEAD> <TITLE> QueryString </TITLE> </HEAD> <BODY> <% Favorite = Request.QueryString( "Favorite" ) IF Favorite <> "" THEN IF (Favorite = "baseball") THEN Play = "야구" Else Play = "축구" End If %> 당신은【 <%=Play%>】을(를) 선호합니다. <HR> END IF <A href="ex1-5.asp?Favorite=baseball"> 야구 </A> <P> <A href="ex1-5.asp?Favorite=soccer"> 축구 </A> </BODY> </HTML> http://localhost/chs/chapter1/ex1-5.asp?Favorite=baseball

Request 객체(4/8) 컬렉션으로부터 원하는 값만을 추출하여 사용 <HTML> <HEAD> <TITLE> QuryString </TITLE> </HEAD> <BODY> <% Favorite = Request.QueryString( "Favorite" ) IF Favorite <> "" THEN %> 당신의 추천 영화는【<%=Favorite%>】입니다. <HR> END IF 당신의 추천 영화가【JSA】라면 <A href="ex1-8.asp?Favorite=JSA"> 여기 </a>를 클릭하세요...... <P> 위 영화가 아니면, <FORM METHOD="GET" action="ex1-8.asp"> <INPUT name="Favorite" size="50"> <INPUT type="submit" value="추천 !!!"> </FORM> </BODY> </HTML>

Request 객체(5/8) Form 컬렉션 POST 방식으로 전송되는 클라이언트 폼의 데이터에 대한 변수와 값을 가지는 컬렉션 <A>의 “METHOD” 속성의 값으로 “POST”를 지정한다는 점을 제외하고는 QueryString 컬렉션과 동일

Request 객체(6/8) ServerVariables 컬렉션 클라이언트로부터의 여러 정보를 가지는 컬렉션 HTTP 헤더를 분석 → 이에 관한 모든 정보 환경 변수 등 (※ 명칭으로부터 서버에 관한 정보를 가지는 컬렉션이라고 추측하기 쉬우나, 사실은 클라이언트에 관한 대부분의 정보를 가지고 있음)

ServerVariables 컬렉션 <%@ LANGUAGE=VBSCRIPT %> <HTML> <HEAD> <TITLE> Request 객체 </TITLE> </HEAD> <BODY BGCOLOR="#CCCCFF"> ASP의 Request 객체 - ServerVariables 콜렉션 <HR> <P>The Request.ServerVariables 콜렉션 내용<P> <% For Each Item In Request.ServerVariables Response.Write Item & " = " & Request.ServerVariables(Item) &"<HR>" Next %> </BODY> </HTML>

Request 객체(7/8) TotalBytes 속성 BinaryRead 메소드 클라이언트가 HTTP 요청의 본문에서 전송해 주는 데이터의 바이트 수를 나타내는 속성 읽기 전용 변경 불가 BinaryRead 메소드 POST 방식으로 전송한 클라이언트로부터의 데이터를 검출 → SafeArray라고 하는 배열에 저장 SafeArray : 차수(Dimension)에 관한 정보를 가지고 있는 배열

Request 객체(8/8) BinaryRead 메소드 Request.Form 컬렉션을 통하여 POST 방식으로 전송되는 데이터를 확인하는 경우와는 달리, 클라이언트로부터의 원본 데이터를 읽기 위해 사용 … <% totalBytes = Request.TotalBytes IF totalBytes > 0 THEN Response.Write "입력된 데이터의 총 바이트 수 : " & totalBytes & "<HR>" 'BinaryRead 메소드는 다음과 같이 배열 SafeArray에 저장할 바이트 수를 '지정해 주는 파라미터를 가짐 inputData = Request.BinaryRead(totalBytes) Response.BinaryWrite inputData Response.Write "<HR>" END IF %>