Dev/Python
CGI?
Ellen571
2020. 8. 21. 19:55
반응형
웹 서버(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과 같은 약속되어 있는 데이터를 환경변수라는 형태로 전달
반응형