Python の http.server (または SimpleHTTPServer) のより高速な代替手段は何ですか? 質問する

Python の http.server (または SimpleHTTPServer) のより高速な代替手段は何ですか? 質問する

パイソンのhttp.サーバー(または Python 2 の場合は SimpleHTTPServer) は、コマンドラインから現在のディレクトリの内容を提供する優れた方法です。

python -m http.server

しかし、Web サーバーに関しては、非常に遅いです...

シングルスレッドのように動作し、RequireJS を使用して JavaScript AMD モジュールをロードするときにタイムアウト エラーが発生することがあります。画像のない単純なページをロードするには、5 ~ 10 秒かかることがあります。

同じくらい便利で、より速い代替手段は何でしょうか?

ベストアンサー1

http サーバーnode.js の SimpleHTTPServer は非常に便利で、Python の SimpleHTTPServer よりもはるかに高速です。これは主に、リクエストをシリアル化するのではなく、非同期 IO を使用してリクエストを並行処理するためです。

インストール

まだインストールしていない場合は、node.js をインストールします。次に、ノード パッケージ マネージャー ( npm) を使用して、グローバルにインストールするオプションを使用してパッケージをインストールします。Windows の場合は、管理者権限のプロンプトが必要であり、Linux/OSX の場合は次のコマンド-gを実行します。sudo

npm install http-server -g

これにより、必要な依存関係がダウンロードされ、インストールされますhttp-server

使用

これで、任意のディレクトリから次のように入力できます。

http-server [path] [options]

パスはオプションで、./public存在する場合は がデフォルトとなり、そうでない場合は になります./

オプションは[デフォルト]です:

  • -pリッスンするポート番号 [8080]
  • -aバインドするホストアドレス [localhost]
  • -iディレクトリインデックスページを表示する [True]
  • -sまたは--silentサイレントモードではコンソールにログが記録されません
  • -hまたは--helpヘルプメッセージを表示して終了します

したがって、現在のディレクトリをポート 8000 で提供するには、次のように入力します。

http-server -p 8000

おすすめ記事