PSGIとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > PSGIの意味・解説 

PSGI

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/07 20:22 UTC 版)

ナビゲーションに移動 検索に移動

PSGI(Perl Web Server Gateway Interface)は、プログラミング言語Perlで使われる、WebアプリケーションとWebサーバを接続するインタフェースの1つであり、PerlにおけるWebアプリケーション用標準インタフェースとして使われることが意図されている。

動機および概要

Perlスクリプトは、実行ファイル形式またはモジュール形式を用いてウェブアプリケーションとして実行できる。そのための枠組みの例として、CGI, FastCGI, SpeedyCGI, mod_perl, ISAPIなどが従来から存在する。これらのうちCGIが最も古典的でシンプルな実行方法として知られているが、クライアントからのリクエストのたびにプロセスの起動・破棄を行うため、サーバへの負担が大きく、ユーザへのレスポンスにも時間がかかる。また、このような起動形態ではデータベースとの接続といった必要な初期化も毎回行わなければならない。これらの問題を解決するために、FastCGI, SpeedyCGI, mod_perlなどが考案された。これらの環境では、Webアプリケーションプロセスを起動したままにして、リクエスト毎にこのプロセスがWebサーバと何らかのインタフェースで通信することで、プロセス起動や各種の初期化にかかるオーバーヘッドを排除している。しかしながら、これらの実行環境 (FastCGI, mod_perl, etc.) はそれぞれインタフェイスが異なるため、ウェブアプリケーションフレームワークごとに、それらの差異を吸収するためのコードが繰り返し再発明されていた。

この問題を解決すべく、宮川達彦氏を主導として、PythonWSGIRubyのRackから着想を得た、PSGIというウェブアプリケーション用の規格が策定された[1]。また、同時にPSGIのリファレンス実装であるPlackも発表された。PlackはCPANからダウンロードできる。PSGIの登場と普及により、具体的な実行環境を意識することなくウェブアプリケーションを作成できるようになった。2010年現在では、ほとんどのPerl製WebアプリケーションフレームワークがPSGIに対応している。

PSGIアプリケーションの例

以下は、最も単純なPSGIアプリケーションの例である:

my $app = sub {
    return [200, ['Content-Type' => 'text/plain'], ["hello, world\n"]];
}

これをPSGIサーバの1つであるPlackで実行するには、hello.psgiとして保存して、コマンドラインシェルでplackup hello.psgiを実行すればよい。

PSGIに対応しているWebフレームワーク

実行環境

具体的にどの実行環境を使用するかはオペレーティングシステムやウェブサーバによって異なるが、次のような利用方法がある。

UNIX
Apache
  • CGI
  • FastCGI
  • SpeedyCGI
  • mod_perl
  • uWSGI
lighttpd
  • CGI
  • FastCGI
Nginx
  • uWSGI
  • FastCGI
Windows
IIS
  • CGI
  • ISAPI
Apache
  • CGI
  • FastCGI
  • SpeedyCGI
  • mod_perl
  • ISAPI
AN HTTPD
  • CGI
  • ISAPI

脚注

[脚注の使い方]
  1. ^ http://gihyo.jp/news/report/01/yapcasia2009/0001 YAPC::Asia Tokyo 2009 スペシャルレポート



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PSGI」の関連用語

PSGIのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PSGIのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのPSGI (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS