본문 바로가기
Dev/Python

CGI?

by Ellen571 2020. 8. 21.
반응형

[생활코딩] 활용 - CGI 소개

 

 

웹 서버(apache, nginx...)와 애플리케이션을 만들 수 있는 언어(python, php, java...)가

연동을 하기 위해서는 표준화된 약속이 필요

그 약속이 CGI(Common Gateway Interface)

 

CGI가 등장한 이후 여러 단점이 있기에 요즘에는 잘 사용되지 않음

요즘에는 fastCGI, WSGI 등을 사용하지만 본질적으로 CGI와 크게 다르지 않음

 

 

웹서버 전달하는 데이터 확인하기

 

cgi_env.py

#!/usr/local/bin/python3
print("content-type:text/html; charset=UTF-8\n")

import cgi
cgi.test()

 

cgi_env.py에 권한주기

sudo chmod a+x cgi_env.py

 

 

http://localhost:8000/cgi_env.py에 접속하면 cgi_env.py가 웹서버에 전달하는 정보 출력됨

 

주소를 http://localhost:8000/cgi_env.py?id=HTML로 바꿔보면 내용에

QUERY_STRING id=HTML 라고 나옴

 

 

CGI는 웹서버가 사용자 요청을 받았을 때 웹 애플리케이션이 처리할 수 있도록

Query String과 같은 약속되어 있는 데이터를 환경변수라는 형태로 전달

반응형

'Dev > Python' 카테고리의 다른 글

[Python] 파일 읽기 open().read()  (0) 2020.08.22
[Python] cgi.FieldStorage()  (0) 2020.08.22
Python 설치 및 실행(Mac OS)  (0) 2020.08.21
Python을 배우는 이유?  (0) 2020.08.20
Python으로 웹 애플리케이션 구현?  (0) 2020.08.20