環境変数一覧

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

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

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


AUTH_TYPE
  認証機能を使用すると値が設定される。たとえば BASIC 認証を使えば 'Basic' という値が入る
CONTENT_LENGTH
  POST 形式のリクエストの場合、標準入力から送られてくるデータのバイト数
CONTENT_TYPE
  
DATE_GMT
  時刻。GMT グリニッジ標準時表記
DATE_LOCAL
  時刻。ローカル表記
DOCUMENT_NAME
  リクエストされたファイル名
DOCUMENT_PATH_INFO
  
DOCUMENT_ROOT /home/68user/myweb/sitebase/sitetop-public_html/
  http://x68000.q-e-d.net/ を表示したときに参照されるディレクトリ
DOCUMENT_URI
  
GATEWAY_INTERFACE CGI/1.1
  
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  
HTTP_ACCEPT_CHARSET
  
HTTP_ACCEPT_ENCODING br,gzip
  クライアントが解釈できる圧縮形式。サーバはこれを参照し、データを圧縮してクライアントに送信してもよい
HTTP_ACCEPT_LANGUAGE en-US,en;q=0.5
  
HTTP_CACHE_CONTROL
  
HTTP_CACHE_INFO
  
HTTP_CLIENT
  
HTTP_CLIENT_IP
  
HTTP_CONNECTION Keep-Alive
  keep-aliveの場合は、リクエストを一度に複数送り、コンテンツの連続転送を行う
HTTP_COOKIE
  
HTTP_EXTENSION
  
HTTP_FORWARDED
  
HTTP_FROM
  
HTTP_HOST x68000.q-e-d.net
  WWW サーバのホスト名。あくまでクライアントが認識しているホスト名であることに注意
HTTP_IDENT
  
HTTP_IF_MODIFIED_SINCE
  
HTTP_NAGOTIATE
  
HTTP_PRAGMA
  no-cacheの場合は「キャッシュされている内容ではなく最新情報を取得せよ」とブラウザが指示したということ。
HTTP_PROXY_AUTHORIZATION
  
HTTP_PROXY_CONNECTION
  
HTTP_REFERER
  どこのリンクから飛んできたか。URLを手でタイプしたりブックマークから飛んできた場合は空欄になる。
HTTP_REMOTE_ADDR
  
HTTP_REMOTE_HOST
  
HTTP_REMOTE_IDENT
  
HTTP_REMOTE_USER
  
HTTP_UA_COLOR
  
HTTP_UA_CPU
  クライアントのCPU。値をセットするのはクライアント側
HTTP_UA_OS
  クライアントのOS。値をセットするのはクライアント側
HTTP_UA_PIXELS
  クライアントのブラウザの縦x横のサイズ。値をセットするのはクライアント側
HTTP_USER_AGENT CCBot/2.0 (https://commoncrawl.org/faq/)
  クライアントのUser-Agent(ブラウザ、OSなどの情報)
HTTP_VIA
  
HTTP_X_FORWARDED_FOR
  確か、proxy経由でアクセスしたときに接続元のホスト名が表示されるはず。proxyサーバによっては設定れない場合もある。
HTTP_X_LOCKING
  
LAST_MODIFIED
  
PATH /usr/X11R6/bin:/usr/bin:/bin:/usr/local/bin:/usr/sbin:/home/68user/bin
  パス。CGIの中では、パスにないディレクトリの下にあるコマンドはフルパスで呼ばなければならない
PATH_INFO
  URLのprintenv.cgiの後に「/hogehoge」を付けてみ。
PATH_TRANSLATED
  
QUERY_STRING all
  URLの最後に「?…」で付加する情報。CGIがそれを解析することで、いろいろな動作をさせられる。
REDIRECT_STATUS
  ステータスコード。いわゆる404とか500など。200は「OK」という意味。
REDIRECT_URL
  
REMOTE_ADDR 3.223.3.251
  クライアントのIPアドレス
REMOTE_HOST
  クライアントのホスト名。ホスト名を持たない場合はIPアドレス
REMOTE_IDENT
  
REMOTE_PORT 51824
  HTTPクライアント側に割り振られたポート番号。普通クライアント側のOSが勝手に決める
REMOTE_USER
  BASIC 認証などを使用してアクセス制限をかけている場合、認証の際に使用したユーザ名が格納される
REQUEST_FILENAME
  
REQUEST_METHOD GET
  GET、POST、HEAD、PUT、DELETE、LINK、UNLINKがあるが、最初の3つを知ってれば十分
REQUEST_URI /~68user/Cgi-room/printenv.cgi?all
  クライアントが要求したURI(パス)
SCRIPT_FILENAME /home/68user/public_html/Cgi-room/printenv.cgi
  CGIとして実際に実行されるファイル。URL表記ではなくディレクトリ表記。
SCRIPT_NAME /~68user/Cgi-room/printenv.cgi
  CGIとして実際に実行されるファイル。ディレクトリ表記ではなくURL表記。
SCRIPT_URI
  
SCRIPT_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_ROOT
  WWW サーバの IP アドレス
SERVER_SIGNATURE
  WWW サーバのソフトウェア名・バージョン・ホスト名など。サーバ設定により隠すこともできる。
SERVER_SOFTWARE Apache/2.4.27 (FreeBSD)
  WWW サーバのソフトウェア名
SERVER_VERSION
  WWW サーバのバージョン
TZ
  (サーバ側の)タイムゾーン。
UNIQUE_ID
  
USER_NAME
  
!!!CONTEXT_DOCUMENT_ROOT
!!!CONTEXT_PREFIX
!!!LD_LIBRARY_PATH
!!!REQUEST_SCHEME

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