전자계산학과 - 프로그램랭귀지 TclTk와 perl_tcl
본 자료는 5페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
해당 자료는 5페이지 까지만 미리보기를 제공합니다.
5페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 개요

2. Tcl/Tk

3. Perl

4. CGI

5. 참조

본문내용

ommon Gateway Interface)
홈페이지를 제작할 때에는 기본문서인 HTML(HyperText Markup Language)을 이용하여 만들며 문서 치장언어라고도 말하기도하는데 그것은 HTML을 이용한 홈페이지 제작에는 한계를 안고 있음을 의미한다. HTML을 가지고 홈페이지를 작성했다면 이미 만들어진 그 페이지는 정적(Static)인 상태로 직접 수정해주지 않는 한 영원히 바뀌지 않는 페이지가 되어 버린다. CGI의 역할이 바로 정적인 HTML을 동적으로 만들어주는 기능을 하는 것이라 보면 되겠다.
CGI는 Common Gateway Interface라 풀어 쓸 수 있다. 뒤에 보이는 Interface라는 단어에서 의미하는 “연결부분”이라는 뜻과 같이 상호연결에 필요한 어떤 것이라 할 수 있겠다. 예를 들어 어떤 프로그램과 프로그램을 연결하는 중간 매개체의 역할을 담당하는 프로그램이 있다면, 이것을 연결 프로그램(Interface Program)이라 할 수 있겠다. 그렇다면 CGI는 어떻게 수행될까? CGI는 특정한 프로그램이나 출력되는 값에 의해, 바로 기존의 프로그램을 이용해 출력한 결과값(일반적인 문서자료)을 받아서 CGI에 의해 HTML 형식에 맞추어 변환된 자료를 웹서버에 넘겨주는 기능을 하고 있다. 물론 넘겨주는 것은 보통 HTML 문서형식이다. 다음은 CGI에 대한 흐름도이다.
[그림] CGI 흐름도
위와 같이 데이터베이스나 다른 응용 프로그램에 접근하여 자료를 받아와서 웹서버에서 처리 가능한 형태, 보통 HTML형식으로 보내주면 웹서버에서 다시 브라우저로 보내주는 형태이다. 이런 CGI는 어떤 프로그래밍 언어로 만들어질까? 정답은 어느것이든 상관없다. 스크립트 언어인 Perl, Tcl/Tk와 컴파일 언어인 C, Visual Basic, Delphi 심지어 Java로도 만들어질 수 있다. 단지 스크립트 언어인 경우는 프로그래밍 하기엔 편하지만 수행 속도면에서는 단점이 될 수도 있다. 하지만 단순한 기능을 가진 CGI 프로그램은 수정하기가 용이한 스크립트 언어로 많이 만들어지고 있다.
CGI에서 화면을 치장하고 표현할 수 있는 한계는 바로 HTML의 한계와 결부된다. 지금에 이르러서는 자바 애플릿(JAVA applet) 등에 의해 CGI의 기능이 점점 보완되어 가고 있긴 하지만, CGI를 이용한 여러 가지 검색서비스나 웹비비에스에서는 CGI를 더 많이 쓰고 있다. 요즘은 자바스크립트나 비베스크립트(Visual Basic 스크립트: VB 스크립트)와 같은 스크립트 언어를 HTML 문서에 삽입하여 여러 가지 동적이고도 다양한 기능을 넣을 수 있다. 자바스크립트나 비베스크립트의 경우는 현재로서는 HTML 문서만을 위한 언어로 개발되었지만 강력한 기능을 가지며 CGI 프로그램과 자바 애플릿과 보완적인 관계를 갖고 있다. 다음은 CGI가 실제적으로 어떻게 동작하는지에 대해 살펴보자.
브라우저에서 CGI 프로그램으로 서버를 거쳐 요구할때 데이터를 전송하는데 이때 이 데이터는 두가지 방법으로 전달되는데 첫 번째가 환경변수인 QUERY_STRING이라는 변수로 받는 방법, 또 한가지 방법이 표준입력(Standard Input)으로 받는 방법이다. 전자의 방법(METHOD)를 GET라하고 후자를 POST라고 한다. GET의 방식을 쓸 경우에는 환경변수에 할당된 메모리에 따라 데이터의 양이 제한되기 때문에 POST 방식을 많이 쓰고 있다. 나머지 한가지 방법에 HEAD가 있지만 로봇에이전트에서 이용된다.
CGI 프로그램을 이용하는 방법에 대해서 살펴 보았다. 그렇다면 GET이나 POST의 방법에 의해서 전달된 데이터, 즉 문자열의 형태는 다음과 같다.
name1=value1&name2=value2&......
전송하는 방식에 관계없이 위와 같은 문자열의 형태로 CGI 프로그램에 전달되는데 name은 변수명에 해당하고 value는 변수의 값에 해당한다. 변수와 변수 사이는 &로 구분하고 있다. 위와 같은 형태라면 공백이 들어간 문자나 한글과 같은 특수문자가 들어간 경우에는 분명 문제가 발생한다. 이런 문제가 발생하기 때문에 브라우저는 한 번의 변환과정을 거쳐서 서버에 전달한다. 그 변환과정이란 다음과 같다.
공백(Space)
"+"로 치환한다.
알파벳과 숫자 그리고 @ . * _ - 를 제외한 모든 특수문자들
%00 - %FF 사이의 값으로 해당하는 ASCII 코드값으로 변환한다.
“이홍기”는 6bytes 특수 문자이므로 다음과 같이 표현된다.
%c0%cc%c8%ab%b1%e2
이 때 CGI 프로그램은 환경변수나 표준입력(Standard Input)으로 받은 문자열을 이용하여 각각의 언어에 마련된 CGI 라이브러리를 이용하여 문자열을 분석하여 프로그램에서 필요한 데이터로 분리한 후 이용하게 된다. CGI 라이브러리에 대한 소개는 이 절의 마지막에 있다. 브라우저에서 CGI 프로그램으로 넘겨 줄 때 웹서버는 CGI에 환경변수의 형태로 여러 가지 정보를 함께 보내준다. 사용자가 사용하는 브라우저의 이름이나 전송방식(GET, POST, HEAD) 등을 환경변수로 저장시켜준다. 앞서 설명한 Tcl CGI 라이브러리는 GET, POST를 모두 지원하는 예제였고, Perl은 GET을 이용하는 예제였다.
5. 참조 (Reference)
Tcl/Tk Practical Programming
Brent Welch (DRAFT DOC.)
Graphical Applications with Tcl/Tk
Eric F. Johnson - M&T
Teaching Yourself CGI Programming with Perl in a 21Days
Eric Herrmann - SAMS.NET
Perl 이야기
http://www.widebbs.com/Perl/
Perl institute
http://www.Perl.org/
Tcl/Tk - Sunscript tech corner
http://sunscript.sun.com/techcorner/
Tcl/Tk
http://www.cs.uoregon.edu/research/tcl/
News Group
news://comp.lang.tcl/
  • 가격2,000
  • 페이지수16페이지
  • 등록일2011.04.18
  • 저작시기2011.4
  • 파일형식한글(hwp)
  • 자료번호#668315
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니