HTTP環境変数取得マニュアル
はじめに)
本機能は、HTTPサーバがCGIモジュールに対して渡す環境変数とCookie文字列の取得方法について解説したものです。
本文)
環境変数取得のしくみ
HTTPサーバは、CGIモジュールを起動すると、CGIモジュールに対してIPアドレスや、ブラウザエージェントといった内容を環境変数により引渡します。
どのような環境変数が引き渡されるかは、HTTPサーバの種類や設定により変化します。
Xcuteにおいては、ひな型上にて、取得したい環境変数名を指定することにより、任意のセルのその内容を取得できるように設計されています。ただし、取得できるのは前述の通り、HTTPサーバから提供される環境変数に限られます。
ひな型の設定
取得したい環境変数名の指定や、Cookieの取得はひな型シート上のR1C2セルに対して記述します。
環境変数名=セットするセル
という書式で設定します。
下記は、クライアントのIPアドレスを取得する例です。
Cookieの取得はHTTP環境変数取得の書式と若干異なります。
COOKIE=セットするセル,Key
という書式で設定します。
Keyという項目は、取得したいCookieのKeyを指定します。たとえば、他のCGIがTESTという名前でCookieをセットしており、これをXcuteで取得したい場合は、以下のひな型例のように記述します。
Cookieは通常、同一ドメインでかつ、同一ディレクトリもしくは、その上位ディレクトリのCGIプログラム等がセットしたもののみ取得できます。
すなわち、http://localhost/procgi/test.cgiがセットしたCookieは、
http://localhost/xcute/test.cgiでは取得できません。
しかし、http://localhost/procgi/test2.cgiや、http://localhost/procgi/test/test.cgiならば取得することが可能です。(ただし、絶対に取得できるわけではありません。詳しくは、RFC2965をご参照ください。検索エンジン等で調べれば和訳文も取得できます。)
複数のHTTP環境変数や、COOKIEを取得する場合
下記のひな型記述例のように、”|”文字で区切り、複数指定します。
COOKIEコマンドによる、COOKIEのセット
COOKIEコマンドはCOOKIEの取得のみならず、COOKIEのセットも可能です。
COOKIEコマンドは、MyCookieとはちがい、他のCGIやシステムにCOOKIEの内容を渡したい場合に使用します。
COOKIE=セットする内容,Key
という書式
R2C8セルに設定します。
Keyという項目は、セットしたいCookieのKeyを指定します。たとえば、他のCGIがTESTという名前でCookieを取得するのであれば、以下のひな型例のように記述します。
以上