環境変数一覧

こちら側が取得できる環境変数の一覧です。アクセスしたURLがCGIを使っていたら これらの情報を知ることができ、さらにファイルに記録しておくこともできます。 一見普通のHTMLファイルであっても、SSIを使えば記録しておくことができます。 アクセスしているwebの所有者は、以下のようなあなたの情報を知っていると考えておいた方がいいでしょう。

説明の中の「クライアント」というのは、web にアクセスしている人 (つまりあなたのこと)、 またはあなたが操作しているブラウザのことです。

なお、どのような環境変数が設定されるかはサーバに依存します。このサーバでは apache という Web サーバを使用していますが、apache 以外の Web サーバを使っている場合は 環境変数も異なると思われます。


CONTEXT_DOCUMENT_ROOT /home/68user/public_html
  
CONTEXT_PREFIX /~68user
  
DOCUMENT_ROOT /home/68user/myweb/sitebase/sitetop-public_html/
  http://x68000.q-e-d.net/ を表示したときに参照されるディレクトリ
GATEWAY_INTERFACE CGI/1.1
  
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
  
HTTP_ACCEPT_ENCODING gzip, deflate
  クライアントが解釈できる圧縮形式。サーバはこれを参照し、データを圧縮してクライアントに送信してもよい
HTTP_ACCEPT_LANGUAGE ja-JP
  
HTTP_CACHE_CONTROL max-age=0
  
HTTP_CONNECTION keep-alive
  keep-aliveの場合は、リクエストを一度に複数送り、コンテンツの連続転送を行う
HTTP_HOST x68000.q-e-d.net
  WWW サーバのホスト名。あくまでクライアントが認識しているホスト名であることに注意
HTTP_UPGRADE_INSECURE_REQUESTS 1
  
HTTP_USER_AGENT Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/93.0.4577.0 Safari/537.36
  クライアントのUser-Agent(ブラウザ、OSなどの情報)
LD_LIBRARY_PATH /usr/local/lib
  
PATH /usr/X11R6/bin:/usr/bin:/bin:/usr/local/bin:/usr/sbin:/home/68user/bin
  パス。CGIの中では、パスにないディレクトリの下にあるコマンドはフルパスで呼ばなければならない
QUERY_STRING
  URLの最後に「?…」で付加する情報。CGIがそれを解析することで、いろいろな動作をさせられる。
REMOTE_ADDR 107.178.234.82
  クライアントのIPアドレス
REMOTE_PORT 39074
  HTTPクライアント側に割り振られたポート番号。普通クライアント側のOSが勝手に決める
REQUEST_METHOD GET
  GET、POST、HEAD、PUT、DELETE、LINK、UNLINKがあるが、最初の3つを知ってれば十分
REQUEST_SCHEME http
  
REQUEST_URI /~68user/Cgi-room/printenv.cgi
  クライアントが要求したURI(パス)
SCRIPT_FILENAME /home/68user/public_html/Cgi-room/printenv.cgi
  CGIとして実際に実行されるファイル。URL表記ではなくディレクトリ表記。
SCRIPT_NAME /~68user/Cgi-room/printenv.cgi
  CGIとして実際に実行されるファイル。ディレクトリ表記ではなくURL表記。
SERVER_ADDR 160.16.202.241
  WWW サーバの IP アドレス
SERVER_ADMIN you@example.com
  WWW サーバの管理者のメールアドレス
SERVER_NAME x68000.q-e-d.net
  WWW サーバのホスト名
SERVER_PORT 80
  WWW サーバが HTTP の通信に使用しているポート番号
SERVER_PROTOCOL HTTP/1.1
  HTTP プロトコルのバージョン。クライアントのリクエストにより変わる。
SERVER_SIGNATURE
  WWW サーバのソフトウェア名・バージョン・ホスト名など。サーバ設定により隠すこともできる。
SERVER_SOFTWARE Apache/2.4.27 (FreeBSD)
  WWW サーバのソフトウェア名
!!!CONTEXT_DOCUMENT_ROOT
!!!CONTEXT_PREFIX
!!!HTTP_UPGRADE_INSECURE_REQUESTS
!!!LD_LIBRARY_PATH
!!!REQUEST_SCHEME

$Id: printenv.cgi,v 1.6 2013/01/23 07:20:54 68user Exp $