localhostでWebサーバーをホストする簡単な方法

localhostでWebサーバーをホストする簡単な方法

http://localhost:PORT/フォルダの内容を一時的に提供したいと思います。非常に基本的なhttpサーバーです。

私はすでに知っています。

 $ python -m SimpleHttpServer 

または(これが新しいアプローチのようです)

 $ python -m http.server 

しかし、私は代替コマンドラインアプローチを探しています。

答え1

UNIXには、「システム」ネットワークサーバーとは異なる「方法」のようなものはありません。

単純なWebサーバーを含むシステムにソフトウェアをインストールして使用または使用しないことがあります。

python -m SimpleHttpServerデフォルトのWebサーバーを含むSimpleHttpServerモジュールをロードするだけです。

Perlにも同様のものがあります。 CPANを確認してください。http://search.cpan.org/dist/HTTP-Server-Simple/

「簡単」はJavaのソリューションです。http://www.simpleframework.org/

JavaScriptとNodejsを使用すると、同じ効果を簡単に得ることができます。http://nodejs.org/api.html、HTTPセクションを参照してください。

もう一つの解決策は自分で行うことです。 HTTPは、いくつかの静的ファイルのみを提供する非常に単純なプロトコルです。 /foo/barを取得するには、ブラウザが次のように要求します。

GET /foo/bar HTTP/1.1

応答は次の形式を取る必要があります。

HTTP/1.0 200 OK
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8

YOUR CONTENT

または

HTTP/1.1 404 Not Found
Last-Modified: Tue, 10 Jan 2010 11:11:11 GMT
Content-Type: text/html; charset=utf-8

YOUR 404 ERROR PAGE

リソースキャッシュを有効にするには、Last-Modifiedヘッダーを含めてください。数行のコードで最小限の実装を書くことが可能でなければなりません。ポートに接続すると、Webサーバーが起動します。 inetdまたはnetcatを使用してIPにバインドします。

編集:以下は、正確に作業を実行する簡単なシェルスクリプトです。また、フォルダのインデックス作成と404エラー処理もサポートしています。

関連情報