猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

SimpleHTTPServerの仕組み

 SimpleHTTPServerの概要に関してはこのドキュメントが役立ちます。ソースコードからわかるように、BaseHTTPHandlerを継承したクラスになります。動作はシンプルでsend_headメソッドでファイルを開いて、do_GET関数で開いたファイルをコピーしています。試しに動作させてみました。

動作結果

 testとのみ記載されたindex.htmlファイルを作成します。同じディレクトリでSimpleHTTPServerを起動させます。

[root@localhost ~]# cat index.html 
test
[root@localhost ~]# python SimpleHTTPServer.py 
Serving HTTP on 0.0.0.0 port 8000 ...
10.0.1.2 - - [12/Dec/2014 10:03:32] "GET / HTTP/1.1" 200 -
10.0.1.2 - - [12/Dec/2014 10:03:32] code 404, message File not found
10.0.1.2 - - [12/Dec/2014 10:03:32] "GET /favicon.ico HTTP/1.1" 404 -

 リモート端末のブラウザからアクセスすると、確かにindex.htmlの内容が表示されました!
f:id:alexei-karamazov:20141213000707p:plain