やりたいこと
Pythonで1行もコードを書かずにWebServerを構築します。
理由は後述しますがLAN中など、セキュリティが保たれた場所でのみ使ってください。
起動方法
Pythonを以下のページからダウンロードしインストールします。

コマンドプロンプトを起動して、サーバーのルートにするフォルダに移動して以下コマンドを実行します。
python -m http.server
以上で、httpサーバが起動しました。
ブラウザから”http://localhost:8000/”や”http://ipadress:8000”にアクセスすることで起動したサーバにアクセスできます。
できることとできないこと
起動したWebサーバでできることとできないことをまとめます。
できること
ファイルのリストとダウンロード
サーバの起動コマンドを実行したフォルダにindex.html(もしくはindex.htm)がない場合、”http://localhost:8000/”にアクセスするとフォルダとファイルのリストが表示されます。
フォルダをクリックすることでfolderの移動、ファイルをクリックすることでダウンロード(ファイル種により内容の閲覧)ができます。
もちろんURLにパスを入力することで、直接ファイルやフォルダにアクセスすることができます。

HTMLの表示
ブラウザからHTMLファイルを選択するとHTMLとして表示します(サーバはHTMLを返しているだけですが)
またフォルダ表示時にindex.html(もしくはindex.htm)がある場合、index.html(もしくはindex.htm)が表示します。
PORTの指定
起動時のコマンドのhttp.serverの後にport番号を指定できます。
例:portを8001に指定
python -m http.server 8001
WindowsだとPort80も指定可能です。
CGIに関して
起動引数に–cgiを指定することでcgiが使用できるようになります。(cgiで使用する言語がpythonなので注意)
ただし、cgiは3.15で削除されることが明言されています。将来を考えると個人的にはあまり使用しない方がよさそうです。
できないこと
HTTPSの使用
HTTPSには対応していないようです。そのため、LAN中など、セキュリティが保たれた場所でのみ使ってください。
DELETE/PUT
DELETE/PUTメソッドで直接サーバ上のファイルを操作することができません。
結果
Pythonを用いてサーバを起動することができました。
サーバにデータやファイルを保存しない簡単なシステムで、LAN内などの限られた環境での使用であれば簡単に使用できるようです。
メモ
サーバ(http.server)のコードの場所
Pythonインストールフォルダ\Lib\http\server.py
例:
C:\Users\ユーザ名\AppData\Local\Programs\Python\Python310\Lib\http
参考にさせていただいたサイト

コメント