진짜 개발자
본문 바로가기

Web/Web

Web - WSGI 와 CGI

728x90

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/

'Web > Web' 카테고리의 다른 글

Web - cookie 와 session 분석 (servlet 예제)  (0) 2019.03.31
Web - Web Server, Web Container, WAS 의 이해  (0) 2019.03.24
Web - Apache 설치 (Window, CentOS7(Linux))  (0) 2018.12.15
DOCTYPE html  (0) 2018.09.05
웹 기본 개념  (0) 2018.09.05