名前
jwebserver - Java Simple Web Serverの起動
シノプシス
jwebserver [options]
- options
- コマンド行オプション。 オプションの詳細については、オプションを参照してください。
説明
jwebserverツールは、プロトタイプ、テストおよびデバッグに使用される最小限のHTTPサーバーを提供します。 単一のディレクトリ階層として機能し、静的ファイルのみを処理します。 HTTP/1.1のみがサポートされています。HTTP/2およびHTTPSはサポートされていません。
べき等なHEADおよびGETリクエストのみが処理されます。 その他のリクエストは、501 - Not Implementedまたは405 - Not Allowedレスポンスを受け取ります。 GETリクエストは、次のように処理されるディレクトリにマップされます:
- リクエストされたリソースがファイルである場合、そのコンテンツは処理されます。
- リクエストされたリソースがインデックス・ファイルを含むディレクトリである場合、インデックス・ファイルの内容が提供されます。
- それ以外の場合、ディレクトリのすべてのファイルとサブディレクトリの名前が一覧表示されます。 シンボリック・リンクおよび隠しファイルは一覧表示または提供されません。
MIMEタイプは、組込み表を使用して自動的に構成されます。 たとえば、.htmlファイルはtext/htmlとして提供され、.javaファイルはtext/plainとして提供されます。
jwebserverはjdk.httpserverモジュールにあり、かわりにjava -m jdk.httpserverを使用して起動できます。 これは、com.sun.net.httpserverパッケージのwebサーバーの実装に基づいています。 com.sun.net.httpserver.SimpleFileServerクラスは、再利用および拡張のためにサーバーとそのコンポーネントを取得するプログラム的な方法を提供します。
使用状況
jwebserver [-b bind address] [-p port] [-d directory]
[-o none|info|verbose] [-h to show options]
[-version to show version information]
オプション
-hまたは-?あるいは--help- ヘルプ・メッセージを出力して終了します。
-baddrまたは--bind-addressaddr-
バインド先のアドレスを指定します。 デフォルト : 127.0.0.1または::1 (loopback)。 すべてのインタフェースで、
-b 0.0.0.0または-b ::を使用します。 -ddirまたは--directorydir- 使用するディレクトリを指定します。 デフォルト: 現在のディレクトリ。
-olevelまたは--outputlevel-
出力形式を指定します。
none|info|verbose。 デフォルト:info。 -pportまたは--portport- リスニングするポートを指定します。 デフォルト: 8000
-versionまたは--version- バージョン情報を出力して終了します。
サーバーを停止するには、Ctrl + Cを押します。
サーバーの起動
次のコマンドは、Simple Web Serverを起動します:
$ jwebserver
起動が成功すると、サーバーはローカル・アドレスと、提供されているディレクトリの絶対パスを示すメッセージをSystem.outに出力します。 たとえば:
$ jwebserver
Binding to loopback by default. For all interfaces use "-b 0.0.0.0" or "-b ::".
Serving /cwd and subdirectories on 127.0.0.1 port 8000
URL http://127.0.0.1:8000/
構成
デフォルトでは、サーバーはフォアグラウンドで実行され、ループバック・アドレスとポート8000にバインドされます。 これは、-bおよび-pオプションを使用して変更できます。 たとえば、Simple Web Serverをすべてのインタフェースにバインドするには、次を使用します:
$ jwebserver -b 0.0.0.0
Serving /cwd and subdirectories on 0.0.0.0 (all interfaces) port 8000
URL http://123.456.7.891:8000/
これにより、ネットワーク上のすべてのホストからwebサーバーにアクセスできるようになります。 サーバーが機密情報をリークできないことが確実でないかぎり、これを行わないでください。
別の例として、次のコマンドを使用してポート9000で実行します:
$ jwebserver -p 9000
デフォルトでは、現在のディレクトリのファイルが処理されます。 -dオプションで別のディレクトリを指定できます。
デフォルトでは、すべてのリクエストがコンソールに記録されます。 次のように出力されます。
127.0.0.1 - - [10/Feb/2021:14:34:11 +0000] "GET /some/subdirectory/ HTTP/1.1" 200 -
ログ出力は、-oオプションを使用して変更できます。 デフォルト設定はinfoです。 verbose設定には、リクエスト・ヘッダーとレスポンス・ヘッダーに加えて、リクエストされたリソースの絶対パスも含まれます。
サーバーの停止
正常に起動すると、サーバーは停止するまで実行されます。 Unixプラットフォームでは、SIGINTシグナル (ターミナル・ウィンドウのCtrl+C)を送信することによってサーバーを停止できます。
ヘルプ・オプション
-hオプションは、jwebserverの使用方法とオプションを説明するヘルプ・メッセージを表示します。