웹기반 제어를 위한 CGI 프로그래밍 - Speech Square 음성 및 언어

Download Report

Transcript 웹기반 제어를 위한 CGI 프로그래밍 - Speech Square 음성 및 언어

Slide 1

웹기반 시스템 제어를 위한
CGI 프로그래밍
창원대학교 메카트로닉스 공학부
조철우


Slide 2

목차
CGI란 무엇인가?
CGI를 이용한 데이터 전달방법
CGI프로그램의 예
CGI응용사례


Slide 3

CGI란 무엇인가?(1)
Common Gateway Interface
외부 프로그램과 웹서버(HTTP Server) 간의
연결 역할을 하기 위한 규약이 CGI
그 때 사용하는 프로그램을 gateway프로그램
= CGI 프로그램(혹은 스크립트)
통상 C/C++, PERL혹은 UNIX Shell, Tcl/Tk 등
을 사용하여 구현


Slide 4

CGI를 통한 데이터 흐름(1)
사용자 컴퓨터

HTML
페이지

서버 컴퓨터

FORM tag

1
4
인터넷

HTML
웹서버
프로그램

2
CGI
프로그램

3

3
정보처리
정보저장
입출력


Slide 5

CGI를 통한 데이터 흐름(2)
클라이언트(웹브라우저)에서 서버로 TCP/IP 연결
을 통해 데이타 요청
2. 서버가 CGI프로그램에게 실행을 하도록 요청을
건네줌
3. -CGI프로그램에서 서버로 출력이 전달
-CGI프로그램 실행
-실행결과를 HTML파일형식으로 작성
4.서버로부터 HTML파일을 읽어서 결과 확인
1.


Slide 6

입력값 전달방식
대표적 형식
FORM을 사용하는 경우
ACTION="http://www.abc.com/cgibin/abc.cgi">
또는
FORM을 사용하지 않는 경우
http://www.abc.com/cgibin/abc.cgi?First+Name=foo&Last+Name=bar


Slide 7

Get Method
FORM택에 METHOD=get으로 하거나 생략

사용자의 입력값들이 환경변수(Environment Variable)
에 저장되어 전달
입력값들은 환경변수의 하나인 QUERY_STRING을 통
해 전달
CGI스크립트는 그 QUERY_STRING에 들어 있는 값을
읽음
그 값들은 입력된 그대로 넘어가는 것이 아니라 서버에
의해 여러가지로 변환(인코딩)되어 넘어가게됨
CGI스크립트에서는 그 값들을 해독(decoding)해야
입력값들이 많지 않는 경우 혹은 그냥 URL에 붙는 파라
미터로 넘겨서 CGI스크립트로 전달할 때에 사용


Slide 8

Post Method
값이 stdin(standard input:표준입력) 을 통
해서 전달됩니다
get METHOD가 인수를 통해서 전달되므로
커맨드라인 의 길이에 의한 제한을 받는 반
면에, post METHOD는 stdin을 이용하므
로 데이타양의 제한이 없음
환경변수들은 stdin과 함께 전달
Get Method와 마찬가지로 입력값들이
encoding되어 넘어오므로 CGI에서 그 값
들을 decoding해야함


Slide 9

Get 과 Post
Get

Post

변수값
전달방법

환경변수
Query String이용

표준입출력(Stdin)
환경변수도 같이 전


변수길이

커맨드라인의 길이
에 따라 제한

무제한

필요

필요

CGI에서의
Decoding


Slide 10


Slide 11

CGI작성의 예 - 방명록
Name, Email, 홈페이지, 남길말을 서버에
기록해 주는 방명록을 작성
1. 방명록 작성을 위한 HTML문서 작성
2. C언어를 이용한 CGI작성
3. 작성된 방명록을 확인하는 HTML문서
작성


Slide 12

CGI프로그램의 설정
Web server계정의 root아래
/cgi-bin/ 디렉토리에 cgi프로그램을 위치


Slide 13

CGI프로그램 작성언어
C, Basic, Perl, PHP, ASP,


Slide 14

CGI프로그램에의 변수전달의 예
http://sarim.changwon.ac.kr/cgi-bin/cgi-program?name1=
내용1&name2=내용

이때 서버의 환경변수의 QUERY_STRING은
'name1=내용1&name2=내용2'이 된다.


Slide 15

입력 페이지 FORM Tag

이 름 :
Email :

홈페이지 :
남길 말씀 :