19

これら2つの違いは何ですか?どちらが優れている/速い/信頼できる?

4

3 に答える 3

27

SCGIは、フロントエンドWebサーバーとWebアプリケーションを接続するための言語に依存しない手段です。WSGIは、Webアプリケーション用のPython固有のインターフェイス標準です。

どちらもCGIにルーツがありますが、スコープがかなり異なり、Webサーバー上のmod_scgiがSCGIサーバーとして実行されているWSGIアプリと通信するなど、両方を同時に使用することはかなり合理的です。WSGIアプリケーションをSCGIサーバーとして実行する複数のライブラリ実装があります(例:wsgitools、cherrypy)。

特定の実装とは対照的に、仕様が信頼できると見なすことができる限り、これらは両方とも「信頼できる」ものです。最近では、おそらくアプリケーションをWSGI呼び出し可能として記述し、デプロイメントの問題を個別に検討するでしょう。

たぶん、Apache + mod_wsgi(埋め込み)インターフェースはApache + mod_scgi +(SCGIラッパーlib)よりも少し速いかもしれませんが、おそらくそれは大きく異なることはないでしょう。さらに価値があるのは、さまざまなサーバー、プラットフォーム、および接続標準でアプリケーションを実行できることです。

于 2008-11-03T00:28:52.693 に答える
12

SCGI (FastCGI と同様) は、Web サーバーと Web アプリケーション間のプロセス間通信に適した (シリアル化された) プロトコルです。

WSGI は Python API であり、2 つ (またはそれ以上) の Python WSGI 互換モジュールを同じプロセス (Python インタープリター) 内で接続します。1 つのモジュールは Web サーバーを表します (Python のインプロセス Web サーバー実装か、SCGI などを介した別のプロセスの Web サーバーへのゲートウェイのいずれかです)。もう 1 つのモジュールは、Web アプリケーションであるか、Web アプリケーションを表します。さらに、これら 2 つのモジュールの間にあるゼロ以上のモジュールは、WSGI の「ミドルウェア」モジュールとして機能し、セッション/クッキー管理、コンテンツ キャッシング、認証などを行う場合があります。WSGI API は、反復/ジェネレーターや callable の受け渡しなどの Python 言語機能を使用します。協調する WSGI 互換モジュール間のオブジェクト。

于 2009-04-22T18:21:54.887 に答える
10

どちらも、Web アプリケーションを Web サーバーにプラグインするための仕様です。明らかな違いの 1 つは、WSGI が Python の世界に由来することであり、Python 以外の実装はないと私は信じています。

仕様は一般に、より優れている/高速である/信頼性があるという理由で比較することはできません。

それらの実装のみが比較可能であり、両方の仕様の優れた実装が見つかると確信しています。

おそらく読ん読んでください。

于 2008-11-02T22:39:23.037 に答える