본문으로 바로가기

[3일차] #8. 활용 - CGI 소개

category Develop/WEB2 - Python 2018. 12. 17. 22:00






3일차



수업소개

실습준비 - 설치 및 연동

문법 - 데이터 타입 - 숫자

문법 - 데이터 타입 - 문자열

활용 - 홈페이지를 CGI로 구현

활용 - URL query string을 가져오는 방법

활용 - CGI 소개

문법 - 제어문 소개

문법 - Boolean

문법 - 조건문

활용 - 조건에 반응하는 앱 만들기

활용 - 파일 기능을 이용해 본문 구현

문법 - Python 공식 문서 보는 법

문법 - list

문법 - 컨테이너들

문법 - 반복문 for

활용 - 반복문을 이용해서 글목록 구현

활용 - 생성 구현 1 - form

활용 - 생성 구현 2 - 전송한 정보의 처리

활용 - 수정 구현

활용 - 삭제 구현

문법 - 함수

활용 - 함수를 글목록 기능을 정리 정돈하기

문법 - 모듈

활용 - 모듈로 함수 정리 정돈

활용 - 보안(XSS)

활용 - Pypi와 패키지 매니저

API

수업을 마치며

부록 - Sound of coding





#8. 활용 - CGI 소개


▲ Simple diagram of how CGI is working:[각주:1]



① User enters the input on his Web browser into the form (<FORM> tag)

② Browser packs the input according to the CGI specifications and sends it to the URL, which is specified in ACTION field of the FORM. It's actually sent to the HTTP server.

③ Server extracts the program name from the URL and calls the program, passing the packed user input to the program as well.

④ Server takes the output (standard output) of the program and passes it back to the browser.


□ HTTPD / Webserver (ex. Apache)

□ CGI APPLICATION (ex. Python, Ruby)




▲ cgi test



웹서버가 사용자 요청에 따라 파이선 어플리케이션(cgi_env.py)에게 전달




▲ Query(요청값) 확인)


▲ php 요청값 확인


CGI [common gateway interface] [각주:2]


□ CGI : 웹서버와 언어 간 약속 (*언어종류 불문) - 전기콘센트와 유사


사용자가 서버에게 웹페이지를 통한 요청이 있었을 때, 그것이 응용프로그램에 의해 처리될 필요가 있다면 서버가 응용프로그램을 실행시키고 필요한 메시지를 받는다. 이때 서버와 응용프로그램 사이에 데이터를 주고 받기 위한 표준화된 방법을 CGI라고 한다.

공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고 받는 방법이나 규약들을 말한다. 브라우저가 서버를 경유하여 데이터베이스 서버에 질의를 내는 등 대화형 웹페이지를 작성할 때 이용된다. 게이트웨이의 개발 언어로는 유닉스에서는 문자열 처리가 간단한 펄(perl), 윈도NT에서는 비주얼베이식(visual basic) 등이 사용되는 경우가 많다. 


외부 프로그램을 실행하는 표준 방식으로 자리잡았으며 사용이 편리하다는 장점이 있지만, 서버에서 많은 프로그램을 수행하므로 서버에 무리를 준다는 단점도 지니고 있다.


▲ 데이터베이스와 CGI와의 관계 [각주:3]








  1. http://www.sergey.com/web_course/part_5.html [본문으로]
  2. [네이버 지식백과] (두산백과) [본문으로]
  3. 컴퓨터인터넷IT용어대사전 [본문으로]