5

に記載されているとおり: https://docs.djangoproject.com/en/dev/howto/static-files/

DEBUG が True に設定されている場合、サーバーは自動的に静的ファイルを提供しますが、次のように述べています。

This method is grossly inefficient and probably insecure, so it is unsuitable for production.

しかし、それについて非効率的で安全でないのは正確には何ですか? 私はまだ「本番」モードに設定していないHerokuの小さなプロジェクトを持っているだけで、正確な欠点は何だろうと思っています。

4

2 に答える 2

7

パフォーマンス関連の理由:

  • Web サーバーは、静的ファイルの提供において桁違いに優れています。
  • 私の知る限り、開発サーバーはモノスレッドであり、一度に 1 つのリクエストしか応答できません。同時リクエストはブロックされます (ほとんどのブラウザーは、アセットを並行してダウンロードしようとして 4 つの同時リクエストを作成します)。

セキュリティ関連の理由:

  • アプリを使用して静的コンテンツを提供するのはやり過ぎです (簡素化はセキュリティに適しています)
  • 開発者は安全側にいることを好むので、免責事項のようなものです
  • デバッグモードは、サーバーに関する多くの情報を公開します

Django は、一般に、専用の Web サーバーから静的コンテンツを提供するのに十分なトラフィックがあるニュース出版業界で始まりました。おそらく、元の開発者はこの配置に偏見を持っています。

そうは言っても、デフォルトの開発サーバーを、ガンコーンやトルネードに基づくより堅牢な実装に置き換えるプロジェクトがあります。

于 2013-11-05T06:50:57.583 に答える