set_header

HTTP応答ヘッダキューに文字列を追加する。

定義

関数の型 #include <acpplib.h>
void set_header(const char *pStr)
引数*pStrHTTP応答ヘッダの文字列
戻値なし

説明

HTTP応答ヘッダキューに文字列を追加します。HTTP応答ヘッダキューとはC++ for CGIが内部に持っている文字列配列です。キューに追加するだけで送信はしません。
HTTP応答ヘッダの書式に合致したものであれば、文字列はいくつでも追加できます。また、HTTP応答ヘッダキューに記憶した文字列の順番は C++ for CGIが適当に変えます。
HTTP応答ヘッダの代表的なものには次のようなものがあります。
ヘッダ説明
Content-Type:文書の内容Content-Type: text/html
Expires:文書の有効期限Expires: Sat, 31 Aug 2002 00:00:00 GMT
Last-Modified:最終更新日Last-Modified: Sat, 31 Aug 2002 00:00:00 GMT
Cache-Control:ブラウザのキャッシュ制御Cache-Control: no-cache, must-revalidate
Location:ブラウザを別のサイトに転送するLocation: http://www.yahoo.co.jp/
Set-Cookie: クッキーをブラウザに保存してもらうSet-Cookie: abc=aaxt
コンテントタイプを指定する場合は、Content-Type: と大文字・小文字をこのまま 書いてください。

HTTP応答ヘッダキューの内容は、cout_header関数 , cout_head関数 , cout_body関数 , begin_html関数のいずれかが実行されるときに送信されます。

HTTP応答ヘッダ、HTML文書ヘッダの出力はC++ for CGI に用意された手段を用いてください。printf , coutなどでそれらを出力すると不整合を生じることがあります。

同じように HTTP応答ヘッダキューに文字列を追加するプリプロセス指令として、#pragma SET_HEADERがあります。

注意

  1. 普通使う必要はありません。
  2. HTTP応答ヘッダ、HTML文書のヘッダ部分はプリプロセス指令や本関数を使用し、printf , coutで送信しないでください。
  3. HTTP応答ヘッダを記憶するだけで送信しません。
  4. 本関数では大文字・小文字区別してください。
  5. 文字列の中身の検査はしていません。