概要
Python
3では、ローカルで簡易HTTPサーバーを起動するために、http.server
モジュールを使用します。これはPython
2のSimpleHTTPServer
の代替です。開発環境でのテストや、ローカルファイルの簡易サーバーとして便利に利用できます。本記事では、Python
3でのコマンドとオプションの使い方について詳しく解説します。
Python 3での簡易HTTPサーバーの起動方法
Python
3では、次のコマンドで簡易HTTPサーバーを起動できます。
python3 -m http.server
デフォルトでは、ポート8000でサーバーが起動します。このサーバーは、現在のディレクトリのファイルをローカルネットワークで提供します。
別のポートでサーバーを起動する
別のポートでサーバーを起動したい場合は、次のようにポート番号を指定します。
python3 -m http.server 8080
これにより、ポート8080でサーバーが起動します。
Python 2からの変更点
Python
2では、SimpleHTTPServer
モジュールを使用して同様のサーバーを起動していましたが、Python
3ではhttp.server
モジュールに統合されました。そのため、Python
2のコードをPython
3に移行する際には、このモジュールの変更に注意が必要です。
# Python 2のコマンド
python -m SimpleHTTPServer
# Python 3のコマンド
python3 -m http.server
その他のオプション
http.server
には他にも便利なオプションがあります。たとえば、--bind
オプションを使って特定のアドレスにバインドすることができます。
python3 -m http.server 8000 --bind 127.0.0.1
これにより、ローカルホスト(127.0.0.1)のみからのアクセスを許可するサーバーを起動できます。また、Python
3.7以降では、--directory
オプションを使って、特定のディレクトリを指定することも可能です。
python3 -m http.server --directory /path/to/your/directory
注意点
http.server
は基本的なセキュリティチェックしか実装していないため、本番環境での使用は推奨されていません。開発やローカルでのテスト用として利用するのが適切です。
結論
Python
3では、http.server
モジュールを使って簡単にローカルHTTPサーバーを起動することができます。開発中に素早くファイルを提供したり、テスト目的で使うのに非常に便利です。Python
2のSimpleHTTPServer
からの移行もスムーズに行えます。