ですから、私はPythonのWebフレームワーク(またはサーバー)について、ほとんどの場合、 Tornado とボトルだけでなく、 FAPWS3
まだいくつかの灰色の領域があります。
まず、これらの3つのWebフレームワークはすべて高速だと言われていますが、それらはすべてnginx/Apacheの後ろに置かれるべきPython(FAPWS3を除く)で書かれたWebサーバーを含んでいます。これはパフォーマンスを低下させるものではありませんか?私は、PythonがCよりもはるかに遅いことを知っています。なぜなら、nginxだけでなく、最悪の場合、含まれているPython
Webサーバーだけを使用するのはなぜですか?
まず、TornadoとFAPWS3はWebサーバーで、BottleはWebフレームワークです。それらは全く異なるカテゴリに属しています。
Webフレームワークは、通常、HTTP( “Web”)プロキシの背後にある WSGI
サーバとして実行されます。ほとんどのフレームワークに含まれているHTTPサーバーは、迅速な開発とデプロイメントと、高効率が重要でないサイトでの展開を容易にするためにのみ用意されています。
基本的な考え方はHTTPサーバー(Apache/Lighttpd/Nginx/Tornado/FAPWS3など)がHTTPを理解し、ディスクから静的ファイルを提供することに非常に優れていることです。一方、動的コンテンツは、Bottle/Flask/web.py/Pylons
/などのWebフレームワークを使用するPythonサーバーによって生成されます。
Webフレームワークによって生成されたドキュメントは、WSGIを介してHTTPサーバーに返送され、HTTP応答を挿入してクライアントに送信されます。