3

そのため、Python Web フレームワーク (またはサーバー?)、主にTornadoBottleだけでなくFAPWS3についてもいくつか読みましたが、まだ灰色の領域がいくつかあります。

まず、これら 3 つの Web フレームワークはすべて高速であると言われていますが、すべて Python で記述された Web サーバー (FAPWS3 を除く) が含まれており、nginx/Apache の背後に配置する必要があります。これはパフォーマンスを低下させていませんか?つまり、Python は C よりもはるかに遅いことがわかっているのに、なぜ nginx だけを使用したり、最悪の場合、含まれている Python Web サーバーだけを使用したりしないのでしょうか?

4

1 に答える 1

8

まず、Tornado と FAPWS3 は Web サーバーですが、Bottle は Web フレームワークです。それらはまったく異なるカテゴリに属します。

Web フレームワークは通常、HTTP (「Web」) プロキシの背後でWSGIサーバーとして実行されます。ほとんどのフレームワークに含まれる HTTP サーバーは、迅速な開発と展開、および高効率が問題にならないサイトでの簡単な展開のためにのみ存在します。

基本的には、HTTP サーバー (Apache/Lighttpd/Nginx/Tornado/FAPWS3 など) は HTTP を理解し、ディスクから静的ファイルを提供するのが得意です。一方、動的コンテンツは、Bottle/Flask/web.py/Pylons/etc のような Web フレームワークを使用して Python サーバーによって生成されます。Web フレームワークによって作成されたドキュメントは、WSGI を介して HTTP サーバーに送り返され、HTTP 応答に入れられてクライアントに送信されます。

于 2011-11-12T22:36:34.833 に答える