[CGI]CGI(공통게이트웨이인터페이스)의 정의, CGI(공통게이트웨이인터페이스)의 데이터전달과 작업과정, CGI(공통게이트웨이인터페이스)의 프로그램간 소통, CGI(공통게이트웨이인터페이스)의 오류대책과 활용 분석
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[CGI]CGI(공통게이트웨이인터페이스)의 정의, CGI(공통게이트웨이인터페이스)의 데이터전달과 작업과정, CGI(공통게이트웨이인터페이스)의 프로그램간 소통, CGI(공통게이트웨이인터페이스)의 오류대책과 활용 분석에 대한 보고서 자료입니다.

목차

Ⅰ. 서론

Ⅱ. CGI(공통게이트웨이인터페이스)의 정의

Ⅲ. CGI(공통게이트웨이인터페이스)의 데이터전달
1. 클라이언트의 요청
2. 서버는 클라이언트의 요청을 분석
3. CGI 프로그램의 수행
4. 서버에서 클라이언트로 클라이언트가 원하는 정보를 전달
5. 클라이언트의 접속 종결

Ⅳ. CGI(공통게이트웨이인터페이스)의 작업과정
1. 입력값 전달
1) get method
2) post method
2. CGI를 통한 변수 전달
1) 방명록 HTML 파일에서의 FORM tag
2) Perl에서의 입력값 해독(Decoding)
3) CGI프로그램 출력
3. 환경변수(Environment Variables)
1) 환경변수를 CGI 프로그램에서 사용하기
2) Perl Interpreter 갖추기
3) 환경 파일 체크

Ⅴ. CGI(공통게이트웨이인터페이스)의 프로그램간 소통
1. command-line argument 방법
2. form을 사용하는 방법

Ⅵ. CGI(공통게이트웨이인터페이스)의 오류대책

Ⅶ. CGI(공통게이트웨이인터페이스)의 활용
1. 매 접속시 새로운 모습을, qDecoder()를 사용한 rotate.cgi
2. 방명록 CGI
3. Server Configuration

Ⅷ. 결론

참고문헌

본문내용

}
\'rotate.cgi?db=test&mimetype=text/html\'과 같은 식으로 Browser에서 실행할 수 있고, ‘db’는 data/DB_NAME이며, HTML이외의 Image도 수정 없이 사용하기 위해 ‘mimetype’을 적용하였다. 임의의 HTML 파일을 db밑에 rotate1.dat, rotate2.dat와 같이 원하는 만큼 넣어주면 매 실행마다 새로운 화면을 볼 수가 있다. 아래와 같이 Compile하자.
cc -Wall -o rotate.cgi rotate.c qDecoder.c
아래와 같은 HTML을 문서에 추가함으로써 Image에 관해서도 적용이 가능하다.

2. 방명록 CGI
방명록은 이제 홈페이지의 기본요구 사항이 되었다. 제작 idea를 살펴보고, 자신의 취향에 맞도록 만들어 보자.
void main(void){
qDecoder();
sendfile(\"head.html\"); /* 머리말 출력 */
fprintf(tmp, \"Contents %s\", qValue(\"content\")); /* 임시 파일에 내용 저장 */
copy(\"guest.html\", tmp); /* 원본을 임시파일에 추가 */
rename(\"guest.tmp\", \"guest.html\"); /* 임시파일을 원본으로 이름 변경 */
erase(\"guest.tmp\"); /* 임시파일 삭제 */
sendfile(\"tail.html\"); /* 꼬리말 출력 */
}
‘head.html’에는 방명록 최상단에 사용자가 넣고 싶은 HTML이 존재하며, ‘tail.html’은 최하단의 그것이다. Source의 수정없이 방명록의 색상, Image등을 수정할 수 있도록 하기 위함이며, guest.bak을 만들어 최상단에 전달된 인자를 qValue()를 사용하여 저장한 후, 기존의 guest.html을 추가하는 작업으로 방명록 기록을 끝낸다. 참고로, \'head.html\'을 Program의 처음에 출력했는데, 본 예제의 경우에는 그 차이가 없겠지만, 실행 시간이 요하는 CGI의 작성시 이러한 방식은 일괄 전송(처리가 끝난후 한번에 화면을 출력함)보다 사용자에게 지루함을 덜 느끼게 한다. Program에서는 단순히 실행 Sequence의 차이지만 사용자의 입장에선 차이가 있다 하겠다. Source는 아래의 URL에서 구할 수 있다.
3. Server Configuration
HTTP Daemon(Web Server)은 보안을 위해 기본적으로 \'cgi-bin\' 이외의 디렉토리에 설치된 CGI 실행을 거부한다. 사용자는 아래와 같은 사항을 추가해 줌으로써 \'.cgi\'로 끝나는 CGI파일을 어느 Directory에서나 실행할 수 있다.
[NCSA HTTPd] conf/srm.conf
AddType application/x-httpd-cgi .cgi
System의 booting시에 자동으로 Web Server를 실행하기 위해 Script를 작성하면 편리하다.
Solaris 2.x의 경우
- 아래와 같은 script를 ‘/etc/init.d’에 ‘httpd.server’와 같이 작성
- ‘chmod 744 httpd.server’로 permission을 변경
- ‘ln -s /etc/init.d/httpd.server /etc/rc3.d/S99httpd.server’로 Symbolic link
linux의 경우는 /etc/rc.d/init.d에 작성한후 동일한 방법으로 /etc/rc.d/rc3.d 에 Symbolic link를 걸어준다.
Ⅷ. 결론
웹에서 사용자가 어떤 요청을 웹서버에게 하면 웹서버는 하나의 프로세스를 실행시킨다. 이 프로세스에 사용자가 어떤 요청을 했는지에 대한 정보가 넘어가고 프로세스가 정보를 가공한 뒤, 결과를 웹서버에게 넘겨주면 웹서버는 이를 다시 사용자의 브라우져로 보내준다. 문제는 사용자가 한 번의 요청을 할 때마다 웹서버가 프로세스를 만든다는 데 있다. 프로세스를 만든다는 건 서버상에서 프로그램을 하나 실행시키는 것과 같다. 사용자가 몇 명 되지 않는다면 문제없겠지만, 대용량데이터베이스를 다루고 수많은 사용자가 이용하는 사이트라면 수많은 프로세스가 실행되고 죽는 과정에서 남아날 재간이 없을 것이다. 그래서 이를 대체할 수 있는 많은 규약들이 등장하게 되었는데 자바에서는 Servlet이라는 기술을 내놓게 된 것이다.
Servlet은 서버에서 돌아가는 Applet이라는 뜻하는데, 애플릿을 떠올리면 금방 이해할 수 있을 것이다. 사실 Servlet은 웹에서만 쓰이도록 디자인된 것은 아니다. 현재의 가장 큰 용도는 CGI의 대체물이라 할 수 있다. CGI와는 달리 Servlet은 멀티쓰레딩에 의해 사용자요구를 처리하고 가공해서 이에 대한 결과를 내보내게 된다. 요구가 아무리 많이 들어오더라도 프로세스를 실행시키는 것만큼의 부하가 걸리지 않으므로 효과적인 처리를 기대할 수 있게 된다. (여기서 한 가지 짚고 넘어가야 할 것은 멀티쓰레딩을 사용한다는 점이다. Servlet 객체를 쓰레드가 여러 개 돌아가면서 사용하기 때문에 Servlet의 메소드들은 반드시 멀티쓰레딩에 대한 고려를 해야만 한다.) 그리고, 또 제작상의 중요한 점은 CGI는 보통 C나 Perl같은 언어가 사용되었지만 Servlet은 자바로 만들어진다는 것이다. 사용자는 자바만 할 줄 알면 별 어려움없이 Servlet프로그래밍을 할 수 있다. 이는 아주 중요한 장점인데, 자바로 프로그램을 만드는 것은 아주 쉽기 때문에 보다 더 쉽고 효율적인 결과를 기대할 수 있다. Servlet은 서버에 상관없이 모두 설치될 수 있다.
참고문헌
- 김성열·이옥빈·정일용·배용근(1999), 인터넷 이해와 활용, 비전 21
- 이준호, perl5로 배우는 CGI프로그래밍, 인포북
- 편집부(2001), CGI, 서울 : 월드매거진
- C프로그래밍 이론과 실습, 남두도서
- C.I.S(2001), HTML 디자인 비주얼 가이드, 서울 : 영진.com
- Pratt / Zelkowitz 원저, 장천현 외 2명 공역(1997), 프로그래밍 언어, 교보문고

키워드

  • 가격5,000
  • 페이지수11페이지
  • 등록일2009.09.04
  • 저작시기2021.3
  • 파일형식한글(hwp)
  • 자료번호#551225
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니