たったの3行でpython簡易webサーバを構築する手順【入門者向け】

スポンサードリンク



こんにちは。sinyです。

この記事では、DjangoやFlaskといったWEBフレームワークを利用せず、pythonを使って以下のような簡易的なwebサーバを構築する手順を紹介します。

 

pythonの簡易WEBサーバの構成概要

まず、WEBサーバの概要について簡単に説明します。

構成要素は上図の通り4つあります。

4つの構成要素
  • ブラウザ・・・IE,CROMEといったブラウザ
  • http.server・・・HTTP (web) サーバを実装するためのクラスを提供してくれます。
  • SimpleHTTPRequestHandler:現在のディレクトリ以下にあるファイル(index.htmlなど)を返す簡易的なWebサーバを提供してくれる。
  • index.html:WEB画面のソースファイル
          ※今回はSimpleTHHPRequestHandlerを使ってこのindex.htmlを表示するWebサーバを構築します。

上記4つの構成要素を使って、簡易WEBサーバを構築します。

 

簡易WEBサーバの実装手順

pythonで簡易WEBサーバを構築する手順はとても簡単です。

以下の流れで実装します。

  1. http.serverモジュールのSimpleHTTPRequestHandlerクラスを使いWEBサーバのインスタンスを生成
  2. 生成したWEBサーバインスタンスを常時受け付けモードにする
  3. pythonコマンドでWEBサーバを起動

コードは以下の通りたったの3行で完了です。
app.pyとして保存しておきましょう。

from http.server import SimpleHTTPRequestHandler, HTTPServer

server = HTTPServer(('', 8000), SimpleHTTPRequestHandler)  #サーバインスタンスを生成
server.serve_forever()   #常時受けつけモードを指定。

 

1行目で、WEBサーバを構成するために必要なSimpleHTTPRequestHandler, HTTPServerクラスをインポートします。

次に、2行目で以下の通りWEBサーバのインスタンスを生成します。

server = HTTPServer(('', 8000), SimpleHTTPRequestHandler)

 

HTTPServerクラスの第1引数にはサーバアドレスを、2つ目にはリクエストハンドラーのクラスを指定します。
今回は、第1引数が('', 8000)とし宛先を「http://127.0.0.1:8000/」に指定しています。
第2引数にはSimpleHTTPRequestHandlerを指定します。

最後に3行目のserver.serve_forever()でWEBサーバを常時受け付けモードに指定します。

最後にapp.pyと同じディレクトリ上に以下のような簡素なhtmlファイル(index.html)を作成しておきましょう。

<!doctype html>
<html lang="ja">
<head>
    <title>TOPページ</title>
    <meta charset="utf-8">
</head>
<body>
    <h1>WEBデモページ</h1>
    <p>python製簡易WEBサーバのデモページです。</p>
</body>

</html>

 

簡易WEBサーバを起動するには以下のコマンドを実行します。

python app.py

 

http://127.0.0.1:8000/にアクセスして以下のようなWEB画面が表示されればOKです。

 

以上、「たったの3行でpython簡易webサーバを構築する手順【入門者向け】」でした。

 

 

おすすめの記事