Web - WSGI 와 CGI
CGI란?
- 웹서버에서 동적인 처리가 필요할때 WAS를 실행시켜 처리한 후 그 결과를 정적 문서화하여 응답하도록 되어있는데 이때 웹서버와 WAS는 서로 다른 언어 체계로 이루어지기 때문에 이 둘이 통신하기 위한 규칙 같은 역할을 위해 CGI가 등장했다
- CGI를 따라서 작성한 프로그램을 CGI 프로그램이라고 한다.
CGI를 만들기 위한 언어 - Java(Servlet), Python, PHP, 등등..
*Web Server - 정적인 웹페이지를 응답하기위한 목적으로 만들어진 서버
*Web Application Server(WAS) - 동적인 웹페이지를 응답하기위한 목적으로 만들어진 서버
참고
*https://jinbroing.tistory.com/205
http://snuet.com/CML/C05/C05_02.html
http://snuet.com/CML/C05/C05_03.html
단점
- 클라이언트의 요청에 대하여 독립적인 프로세스가 생성됨
과정
1. html 문서내에 아래의 form 태그가 포함되게 작성한다
<form name="test" action="test.cgi" method="get">
name : <input type="text" name="name"></br>
<input type="submit" value="ㅈ
</form>
2. 사용자가 해당 html문서를 열면 아래의 그림처럼 보게된다
3. (웹)Server는 CGI 프로그램들(.php, .jsp)이 있는 위치를 정해 놓고 있는데, Client가 그 CGI 프로그램을 실행할 것을 요청하게 된다 (사용자가 name의 텍스트창 안에 값을 입력하고 전송을 누른다)
5. form 태그 내의 action 속성에 적혀있는 cgi 프로그램을 실행시킨다(php,jsp 등등)
WSGI란?(Web Server Gateway Interface)
- 파이썬에서 스크립트와 웹서버와 통신하기위한 명세(프로토콜)
- CGI와 달리 파이썬에 종속된 개념이다
장고에서의 정적파일
- https://blog.hannal.com/2015/04/start_with_django_webframework_06/