| 原作者 | 宮川達彦 |
|---|---|
| 開発者 | 宮川達彦、松野徳弘、ジェシー・ルーアーズ、トーマス・ドーラン、グレアム・ノップ 他。 |
| 書かれた | パール |
| ライセンス | Perl ライセンス(Artistic License v2 + GNU General Public License v1) |
| Webサイト | プラックパール |

Plackは、RubyのRackやPythonのWSGIにインスピレーションを受けたPerl ウェブアプリケーションプログラミングフレームワークです。[1] [2]また、CatalystやDancerなどの他のフレームワークで使用されているPSGI仕様の背後にあるプロジェクトです。[3] Plackを使用すると、ライブウェブサーバーなしでPerlウェブアプリケーションをテストできます。[4]
PlackupはコマンドラインからPSGIアプリケーションを実行するためのコマンドラインユーティリティです。 [5]
翻訳
PSGIまたはPerl Web Server Gateway Interface は、Web サーバーと、Web アプリケーションおよびフレームワーク間のインターフェイスであり、 Perlプログラミング言語で記述されています。これにより、スタンドアロン サーバーとして、またはCGI、FastCGI、mod_perlなどを使用して実行できるポータブルアプリケーションを作成できます。 [6]これは、 PythonのWeb Server Gateway Interface、RubyのRack、JavaScriptのJSGIに触発されています。PSGI アプリケーションは、引数を単一のハッシュ参照として受け入れ、 HTTP ステータス コード、 HTTP ヘッダーの配列への参照、HTTP 本文行 (通常は生成されたHTMLドキュメント)の配列への参照、またはファイルハンドルのようなオブジェクトへの参照の 3 つの要素の配列への参照を返す Perlサブルーチンです。
サポートされているバックエンド
2023年5月現在[7] Plackは以下のサーバーバックエンドをサポートしています。 [アップデート]
- CG
- SCGI
- 高速CGI
- Apache 1.3 および 2.0でのmod_perl
- Plackに含まれるスタンドアロンHTTPサーバー
- HTTP::Server::Simple
- コロナ
- スターマン
- ツイギー
- あらゆるイベント::HTTPD
- AnyEvent::ReverseHTTP
例
デフォルトのスタンドアロン HTTP サーバーを使用する:
$ plackup app.psgi
HTTP::Server::PSGI: http://0:5000/ で接続を受け入れています
Unix ソケットをリッスンするFastCGIデーモンとして実行され、 FastCGI をサポートする任意のWeb サーバーで使用できます。
$ plackup -s FCGI -listen /tmp/fcgi.sock app.psgi
FastCGI: マネージャー (pid 3336): 初期化されました
FastCGI: マネージャー (pid 3336): サーバー (pid 3337) が起動しました
FastCGI: サーバー (pid 3337): 初期化されました
ワンライナーとして実行される実用的なHello Worldアプリケーション:
$ plackup -e 'sub { [200, ["Content-Type" => "text/plain"], ["Hello, world!"]] }' HTTP::Server::PSGI: http://0:5000/ で接続を受け入れています
上記のコマンドは、すべてのローカル インターフェイス ( IP アドレス) のポート5000でリッスンするHTTP サーバーを起動し、すべてのHTTP 要求に対して次の200 OK応答を返します。
HTTP / 1.0 200 OK
日付: 金、2010年3月19日 23:34:10 GMT
サーバー: HTTP::Server::PSGI
コンテンツタイプ: text/plain
コンテンツ長: 13
こんにちは世界!
参考文献
- ^ ポエ、カーティス (2012)。『Beginning Perl』、ジョン・ワイリー・アンド・サンズ、p. 484。ISBN 9781118235638. 2018年10月29日閲覧。
- ^ 「PSGI/Plack - WebフレームワークとWebサーバーのためのPerlスーパーグルー」. plackperl.org . 2023年9月9日閲覧。
- ^ Quigley, Ellie (2014). Perl by Example. ピアソンエデュケーション. p. 586. ISBN 9780133760811. 2018年10月29日閲覧。
- ^ Chromatic (2015). Modern Perl (第4版). The Pragmatic Programmers, LLC. p. 134. ISBN 978-1-68050-088-2。
- ^ "プラックアップ - metacpan.org".メタクパン.org 。2023 年5 月 30 日に取得。
- ^ chromatic. 「Modern Perl による Web アプリケーション開発」. modernperlbooks.com .
- ^ CPAN の Plack::Handler モジュール
外部リンク
- PSGI と Plack のウェブサイト
- Plack ドキュメント
- プラックアップマニュアル
