WSGI

python  IT  web, network 

WSGI (うぃずぎー)

Web Server Gateway Interface の頭文字をとってWSGI。

(アプリケーションサーバ側から見て)Webサーバとの「Gateway Interface」、つまり、ざっくり言うと、「中継点」となる仕組みのこと。

ウェブサービスでは、Webサーバ、アプリケーションサーバ、データベースサーバなど、複数のサーバが連携して動作している。
(これらのサーバが物理的に複数台のハードウェアに分散して置かれているか、一台のハードウェア内でWebサーバ、アプリケーションサーバ、データベースサーバのすべてが動作しているかはともかく)

たとえば、Webサーバに Nginx、アプリケーションサーバにPython製フレームワークのDjango、データベースサーバにMySQL、といった構成である。

この構成であれば、利用者との接触は Nginx が行う。
Nginx は受け取ったリクエストをDjangoに渡す。
Djangoは渡されたリクエストを元にしてMySQLに問い合わせ(クエリ)を行う。

そして、MySQLはDjangoにクエリの結果を返す。
DjangoはMySQLから受け取った結果を元にしてレスポンスを生成し、Nginx に渡す。
そして、 Nginx は利用者にレスポンスを返す。

このような一連の流れにおいて、 WSGI は、「NginxとDjango」のような、Webサーバとアプリケーションサーバとの接続部分を担うプログラム。

WSGI は、「NginxとDjango」に限らず、「Apache と Flask」、「Nginx と Flask」、「Apache と Django」といった場合にも使う。

要は、「Web Server Gateway Interface」という名のとおり、(アプリケーションサーバ側から見て)Webサーバとの「Gateway Interface」、つまり、ざっくり言うと、「中継点」となる仕組みのこと。

python製のWSGiの例としては、 gunicorn などが挙げられる。

掲載用語一覧:

TOPへ(新着順に表示できます)

i18n 
アセンブリ言語  (assembly language)
アンスコ 
イテラブル  (iterable)
イテレート  (iterate)
イミュータブル  (immutable)
インスタンス  (instance)
WSGI 
ウェルノウンポート  (well known port)
API 
SQL 
m17n 
MTVフレームワーク  (mtv framework)
MVCフレームワーク  (mvc framework)
l10n 
LTS 
演算子  (operator)
オブジェクト指向プログラミング  (object oriented programming)
仮想環境  (virtual environment)
関心の分離  (separation of concerns)
git 
github 
キャメルケース  (Camel Case)
クッキー  (Cookie)
クライアント  (client)
クラス  (class)
クラスの継承  (class inheritance)
CRUD 
ケバブケース  (kebab case)
高階関数  (high order function)
コンパイラ  (compiler)
サーバ  (server)
CMS 
JSON 
識別子  (identifier)
辞書  (dictionary)
車輪の再発明  (reinventing the wheel)
シリアライズ  (seralize)
スネークケース  (snake case)
セッション  (Session)
多重継承  (multiple inheritance)
dunder 
ディストリビューション  (distribution)
デシリアライズ  (deserialize)
DRY 
認可  (authorization)
認証  (certification)
パスカルケース  (Pascal Case)
ハッシュ  (hash)
バッテリーインクル-デッド  (battery included)
バリデーション  (validation)
引数  (argument)
ビルトイン  (built in)
フレームワーク  (framework)
プロトコル  (protocol)
ポート番号  (port number)
メソッド  (method)
メンバー  (member)
UUID 
ライブラリ  (library)
LAMP 
リクエストメソッド  (request method)
RESTful 
レンダリング  (rendering)

この用語集はこんな人が書いています