답변:
WSGI는 웹 서버 프로세스의 일부 (임베디드 모드) 또는 별도의 프로세스 (데몬 모드)로 웹 서버 시작시 Python 인터프리터를 실행하고 스크립트를로드합니다. 각 요청은 호출되는 스크립트의 특정 함수를 생성하며 요청 환경은 함수에 인수로 전달됩니다.
CGI는 각 요청마다 별도의 프로세스로 스크립트를 실행하고 환경 변수, stdin 및 stdout을 사용하여 "통신"합니다.
완전히 뒤로 물러 난 관점 인 Blankman에서 웹 서비스 게이트웨이 인터페이스에 대한 "소개 페이지"가 있습니다.
1 부 : 웹 서버
웹 서버는 응답을 제공합니다. 그들은 주위에 앉아 참을성있게 기다렸다가 전혀 경고없이 갑자기 :
웹 서버 (적어도 더 나은 것)는 이것에 매우 뛰어납니다. 그들은 수요에 따라 처리를 확장 및 축소하고, 정말 복잡한 네트워크를 통해 가장 약한 클라이언트와 안정적으로 대화를 나누며 우리는 그것에 대해 걱정할 필요가 없습니다. 그들은 계속 봉사합니다.
이것이 제 요점입니다. 웹 서버는 바로 서버입니다. 그들은 콘텐츠에 대해, 사용자에 대해 전혀 알지 못하며 실제로 많이 기다렸다가 안정적으로 응답하는 방법 외에는 아무것도 모릅니다.
선택한 웹 서버는 소프트웨어가 아닌 제공 선호도를 반영해야합니다. 웹 서버는 처리 또는 논리적 작업이 아닌 서비스를 담당해야합니다.
파트 2 : (PYTHON) 소프트웨어
소프트웨어는 주위에 앉아 있지 않습니다. 소프트웨어는 실행 시간에만 존재합니다. 소프트웨어는 환경에서 예기치 않은 변화 (파일이 예상 한 위치에 있지 않음, 매개 변수 이름이 변경되는 등)에 관해서는별로 수용하지 않습니다. 물론 최적화가 디자인의 중심 원칙이되어야하지만 소프트웨어 자체는 최적화되지 않습니다. 개발자는 최적화합니다. 소프트웨어가 실행됩니다. 소프트웨어는 위의 '고의적 인 중얼 거림'섹션의 모든 작업을 수행합니다. 무엇이든 될 수 있습니다.
소프트웨어 선택 또는 디자인은 웹 서버 선택이 아닌 응용 프로그램, 선택한 기능을 반영해야합니다.
이것은 웹 서버로 언어를 "컴파일하는"전통적인 방법이 고통스러운 곳입니다. 결국에는 실제 서버 환경에 대처하기 위해 애플리케이션에 코드를 넣거나 적어도 런타임에 포함 할 적절한 '래퍼'라이브러리를 선택하여 웹 서버 전반에 걸쳐 균일 성을 제공해야합니다.
그렇다면 WSGI 란 무엇입니까?
그래서 마침내 WSGI는 무엇입니까? WSGI는 두 부분으로 작성된 일련의 규칙 입니다. 통합을 환영하는 모든 환경에 통합 될 수 있도록 작성되었습니다.
웹 서버 측용으로 작성된 첫 번째 부분은 "좋아, WSGI 응용 프로그램을 다루고 싶다면 소프트웨어가로드 될 때 어떻게 생각할 것인지에 대해 설명합니다. 응용 프로그램에서 사용할 수 있도록해야 할 사항은 다음과 같습니다. 모든 애플리케이션이 가질 것으로 기대할 수있는 인터페이스 (레이아웃)입니다. 또한 문제가 발생하는 경우 앱이 어떻게 생각하고 어떻게 작동 할지를 예상 할 수 있습니다. "
Python 응용 프로그램 소프트웨어 용으로 작성된 두 번째 부분은 "좋아, WSGI 서버를 다루고 싶다면 서버가 사용자에게 연락 할 때 어떻게 생각할 것인지에 대해 설명합니다. 서버에서 사용할 수 있도록해야 할 사항은 다음과 같습니다. 여기에 모든 서버가 가질 것으로 예상 할 수있는 인터페이스 (레이아웃)가 있습니다. 또한 문제가 발생하면 행동해야하는 방법과 서버에 알려야하는 내용이 있습니다. "
그래서 당신은 그것을 가지고 있습니다-서버는 서버가 될 것이고 소프트웨어는 소프트웨어가 될 것입니다. 그리고 여기에 다른 하나의 세부 사항을 허용하지 않고도 잘 지낼 수있는 방법이 있습니다. 이것은 WSGI입니다.
반면에 mod_wsgi는 WSGI 호환 소프트웨어와 통신 할 수 있도록하는 Apache 용 플러그인입니다. 즉, mod_wsgi는 위의 규칙 책 중 1 부 규칙의 구현 ( Apache에서)입니다.
CGI에 관해서는 .... 다른 사람에게 물어보십시오 :-)
이 공간의 모든 용어에 대해 명확하지 않은 경우, 혼동되는 두문자어가 포함 된 용어이며 CGI 대 FastCGI 대 WSGI 등을 논의 하는 공식 Python HOWTO 형식의 좋은 배경 독자도 있습니다. 의 위에. 먼저 읽어보고 싶습니다.