プロトコルの概要
ESTP/0.2プロトコルに、更にクライアント自身の固有情報を付与できるように拡張したもの。
動作の概要
基本動作については、ESTP/0.2を参照。
ESTP/0.3では、以下の二点に注意する。
- 最初のgreeting文字列は"ESTP/0.3\r\n"となる。
- ESTPクライアントは、環境変数とargvが送信された後、更に、もう一つのS式を送信してから、stdin/stdout転送モードに入る。サーバはそれを受け取り、適用してから実際の動作に入る事。
- この「もう一つのS式」は、Gaucheのrfc.822形式のalistであるとする。但し、例によって不完全文字列かも知れない点に注意する事。
- 内容については、完全にクライアントとサーバのアプリケーションが自由に定義してよいものとする。
- 想定しているのは、クライアントに固有のidを持たせる、等の用途。
- サーバ一つに複数のクライアントという構成を考えた時に、クライアントによって機能を分けたい際に、ESTP/0.2ではargvの最初の要素ぐらいでしか区別が出来ず、それでは不完全だったので、このプロトコルを用意した。
尚、ESTP/0.3サーバは可能であればESTP/0.1やESTP/0.2にも対応し、クライアントがESTP/0.1やESTP/0.2で送信してきた場合、alist部には'()が指定されたものとして処理を行うのが望ましいと考えられる。
備考
- 現在のところ、ESTP/0.?の、?の数値は、stdin/stdout転送モードに入る前に送信されるS式の数と一致している。
- 可能なら今後もこの数値の一致は続けたいが、必ずしも保証はされない。
最終更新 : 2007/02/17 17:16:58 JST