HTTPプロトコルの基本構文を次に示します。
リクエスト |
http:// server/is/image[/ object][? modifiers] |
server |
server_address[: port] |
object |
ソースオブジェクト指定子(画像パスまたは画像カタログエントリ)。 |
modifiers |
modifier *[& modifier] |
modifier |
command|{$ macro$}|{. comment} |
command |
{ cmdName|{$ var}[= value] |
マクロ |
コマンドマクロの名前。 |
コメント |
コメント文字列(サーバーで無視)。 |
cmdName |
サポートされているコマンド名または属性名の1つ。 |
var |
カスタム変数の名前。 |
value |
コマンドまたは変数の値。 |
server_address
、 cmdName
、 macro
およびは大文字 var
と小文字を区別しません。サーバーは、他のすべての文字列値の大文字と小文字を区別します。
value
はコマンド固有で、コンマで区切った1つ以上の値で構成できます。詳しくは、個々のコマンドの説明を参照してください。
画像サービングへのすべてのHTTP要求には、/is/imageルートコンテキストが必要です。
画像サービングは、まず、受信要求からobject
とmodifiers
を抽出します。 object
は、個別にHTTPデコードされたパス要素に分割されます。modifiers
文字列はcommand
=value
のペアに分割され、value
はコマンド固有の処理の前にHTTPデコードされます。
ドキュメントに特に記載がない限り、安全でない文字はすべてHTTP標準に従ってエンコードする必要があります。 詳しくは、 HTTP仕様を参照してください。
コメントは、リクエスト文字列の任意の場所に埋め込むことができ、ピリオド(.) コマンドseparator(&)の直後。 コメントは、次に(エンコードされていない)コマンド区切り文字が出現するまで終了します。 この機能を使用して、タイムスタンプやデータベースIDなど、画像サービングでは使用しない情報を要求に追加できます。