名前
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
- ヘルプ・メッセージを出力して終了します。
-b
addrまたは--bind-address
addr-
バインド先のアドレスを指定します。 デフォルト : 127.0.0.1または::1 (loopback)。 すべてのインタフェースで、
-b 0.0.0.0
または-b ::
を使用します。 -d
dirまたは--directory
dir- 使用するディレクトリを指定します。 デフォルト: 現在のディレクトリ。
-o
levelまたは--output
level-
出力形式を指定します。
none
|info
|verbose
。 デフォルト:info
。 -p
portまたは--port
port- リスニングするポートを指定します。 デフォルト: 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
の使用方法とオプションを説明するヘルプ・メッセージを表示します。