7.1.6. Groonga HTTPサーバー#
7.1.6.1. 概要#
Groongaサーバを起動する時に --protocol
オプションに http
を指定すると、HTTPで通信可能になります。また、 --document-root
によって静的ページのパスを指定すると、HTTPリクエストに指定されたURIに対応する、パス配下に置かれたファイルを出力します。
GroongaにはHTML + JavaScriptで実装された管理ツールが標準で付属しています。 --document-root
を指定しない場合は管理ツールがインストールされているパスが指定されたとみなされますので、ウェブブラウザで http://HOSTNAME:PORT/
にアクセスすると、管理ツールを利用できます。
7.1.6.2. 構文#
--protocol http
を指定してください。:
groonga --protocol http -d [options...] DB_PATH
7.1.6.3. 使い方#
リクエストを送るときはHTTP GETまたはHTTP POSTを使えます。1つのリクエストで1つのコマンドだけ実行できます。1つのリクエストで複数のコマンドを実行することはできません。
リクエストには /d/${コマンド名}
というパスを使います。
以下のURLは status を実行します。:
http://127.0.0.1:10041/d/status
HTTP GETを使うときはパラメーターはURLの「クエリー」で指定します。
以下のURLは command_version
に 3
を指定しています。:
http://127.0.0.1:10041/d/status?command_version=3
複数のパラメーターを指定することもできます。:
http://127.0.0.1:10041/d/status?command_version=3&output_pretty=yes
HTTP POSTを使うときは、URLの「クエリー」とHTTPリクエストのボディでパラメーターを指定できます。もし、HTTPリクエストのボディを使うときは Content-Type
ヘッダーの値には application/x-www-form-urlencoded
を指定しなければいけません。
以下のHTTP POSTリクエストは複数のパラメーターをHTTPリクエストボディで指定しています。:
POST /d/status HTTP/1.1
Host: 127.0.0.1:10041
Content-Length: 35
Content-Type: application/x-www-form-urlencoded
command_version=3&output_pretty=yes
URLの「クエリー」とHTTPリクエストのボディを一緒に使うこともできます。:
POST /d/status?command_version=3 HTTP/1.1
Host: 127.0.0.1:10041
Content-Length: 17
Content-Type: application/x-www-form-urlencoded
output_pretty=yes
load のデータを指定するためにHTTP POSTを使うこともできます。もし、HTTP POSTでデータを送る場合はHTTPリクエストのボディでパラメーターを指定することはできません。パラメーターはURLの「パス」で指定しなければいけません。
指定するデータにあわせて適切なHTTP Content-Type
ヘッダーの値と load の input_type
パラメーターの値を指定しなければいけません。利用可能な値は次の通りです。
|
|
説明 |
---|---|---|
|
|
JSONデータを送ります。 |
|
|
Apache Arrowデータを送ります。 |
URLの「パス」の拡張子で 出力形式 を指定できます。
以下はJSONでレスポンスを受け取るHTTPリクエストです。:
http://127.0.0.1:10041/d/status.json
以下はXMLでレスポンスを受け取るHTTPリクエストです。:
http://127.0.0.1:10041/d/status.xml