CGIとは -CGIが出力するヘッダー-

[INDEX] [BACK]

 CGIプログラムが出力するヘッダは3種類有り、この3種類のうちのどれかを必ず最初に出力しなければなりません。又、ヘッダーを出力した後は必ず空行を1行出力しなければなりません。これによりサーバーはヘッダーの終わりを認識します。空行が無いとサーバーエラーになります。以下ヘッダーについて簡単に説明します。

  1. Location
    Locationヘッダは通常の出力を行う代わりに別のファイルへアクセスします。出力する文は
    Location: /aaa/bbb/friend.htm
    のようにします。これは例えばブラウザからの送信データによって条件分岐して、ある条件を満たしたときのみファイルにアクセスログを保存してから指定のURLにジャンプする処理を書く時などに使用されます。検索サイトなどでよく「リダイレクトされようとしています。」というメッセージが表示されますが、これは一旦CGIプログラムを呼び出して、このヘッダーを使って別のURLにジャンプする時に出るメッセージです。つまり検索サイトではおそらくヒットしたサイトへジャンプさせる前に回数等をロギングしているのでしょう。
  2. Status
    Statusヘッダはサーバーの状態コードを指定して、ブラウザはその状態を判断して反応を変化させます。例として下のようにヘッダーを出力するとブラウザは画面の書き換えを行いません。CGIプログラムが意図的にブラウザの画面をそのままの状態にしておきたい時などに使用します。ユーザーフレンドリーな木目細かいプログラミングが出来るでしょう。出力文は
    Status: 204 No response
    状態コードは他にも有りますがここでは省略します。
  3. Content-type
    Content-typeヘッダはCGIプログラムがサーバー経由でブラウザにデータを送る際、それがどのようなデータかをサーバーに教えるためのものです。出力データがhtml形式である場合は、
    Content-type: text/html
    以下によく使われるContent-typeの種類を挙げておきます。
    内 容content-type
    HTML text/html
    テキスト text/plain
    画像(gif) image/gif
    動画(mpeg) video/mpeg
    PostScript application/postscript
  4. image/gifは画像型のアクセスカウンタ用CGIプログラムでよく使われています。

[INDEX] [BACK]

更新日: