仕様の概要

Python

カテゴリー: インタフェース定義  閲覧数:301 配信日:2018-08-25 10:48


WSGIには二つの側 — サーバ側とアプリケーション側が存在する


WSGIは、リクエスト情報・レスポンスヘッダ・レスポンス本文を、両者の間でどのようにやりとりするかをPythonのAPIとして定義している

WSGIサーバ(WSGIアプリケーションコンテナ)


WSGIアプリケーションを常駐させる
・HTTPクライアントからリクエストを受け取るごとに、WSGIアプリケーションのcallableオブジェクトを呼び出す
→ クライアントからのリクエストがアプリケーションへ転送される

WSGIアプリケーション


callableオブジェクト (__call__が定義されたオブジェクト) として定義する

処理の流れ


1.Webサーバ側が、クライアントからリクエストを受け取る

2.サーバ側は、callableオブジェクトを呼び出して、その引数として環境変数と1つのコールバック用callableオブジェクトを渡す
・Webサーバ側は、アプリケーション側がエントリポイントとして提供するcallableオブジェクト(関数やクラスインスタンスなど __call__ が定義されたオブジェクト)を呼び出して、その引数として環境変数と1つのコールバック用callableオブジェクトを渡す

3.アプリケーション側は、本文を生成するiterableオブジェクトを戻り値として返す
・アプリケーション側は、このコールバック用callableオブジェクトを呼び出すことでステータスコードとレスポンスヘッダをサーバ側に伝え、さらに本文を生成するiterableオブジェクト(イテレータやリストなど)を戻り値として返す

4.サーバ側は、クライアントへのレスポンスを生成
・サーバ側は、これらを用いてクライアントへのレスポンスを生成する

週間人気ページランキング / 9-23 → 9-29
順位 ページタイトル抜粋 アクセス数
1 Python用語 9
2 モジュール カテゴリー 1
2026/9/30 5:05 更新