WSGI互換アプリとは Python

WSGI互換アプリとは

Web Server Gateway Interface (WSGI; ウィスキー)の略です。 PythonとWEBサーバーをつなぐための、ソフトウエアです。

PHPはWEBサーバーのApachのモジュールです。 つまり発展型なので、そのままHTMLに組み込んで動きます。 f:id:happy_teeth_ago:20200307131715p:plain

それで昔はPHPは人気でした。

でもPythonはそうではありません。

WEBサーバーの上で動かさなくては、WEB上で見ることができません。

でPythonにはいろんなフレームワークがあります

DjangoやFlaskといったところが有名ですね。他にもたくさんあります。 で、そのたびにWEBサーバーとのやり取りをFastCGIやmod_pythonやAPIを使ってつなげてました。

f:id:happy_teeth_ago:20200307131940p:plain

めんどくさいね! となって、WEBサーバーとの共通のやり取りを決めたのが、WSGI(ウイスキー)です。

これがPythonのフレームワークとサーバーとの仲立ちをしてくれるのです。

おおまかな、ながれはこんなイメージ

1-ネットにつないでいるクライアントから、サーバーがリクエストを受け取る

2-サーバーはWSGIにオブジェクトを渡す

3-アプリケーションはWSGIから受け取った情報をもとに、レスポンスを返す

4-サーバーはWSGIから受け取ったレスポンスから、ネットに接続している クライアントにレスポンスを返す。

これが良かったので、Rubyとかでも似たような仕組みが提供されるようになりました。

Rack (Ruby Web Server Interface)と呼ばれています

ではまた