WSGIとは
WSGI Servers - Full Stack Python
上のリンクを参照にしました。
Webアプリケーションの構成
一般的な3層モデルのWebアプリケーションは、プレゼンテーション層はWebサーバ(例:Apache)、アプリケーション層はアプリケーションサーバ(例:Tomcat)、データ層はデータベース(例:MySql)という構成になっています。
WSGIの目的
Pythonを用いてWebアプリケーションを作成する際に、Webフレームワークを利用することが考えられます。それらのPythonのWebフレームワークの利用において、Webサーバとアプリケーションサーバの間の共通のインタフェースがWSGIになります。
WSGI登場以前はWebフレームワークそれぞれが、Webサーバとアプリケーションサーバ間をそれぞれ独自の方式で実装しており、相互互換性がありませんでした。
しかしWSGIのサポートがなされていれば、Webアプリケーションの構築において共通のインタフェースを利用することにより、Webサーバとアプリケーションサーバの組み合わせに柔軟性を持たせる事が可能です。