通常、CGI プログラムは標準出力に HTML タグを出力することにより実行される。
C で CGI を作成する場合、標準出力への出力の最初の行に必ず以下の文を記述する必要がある。
printf("Content-Type: text/html\n\n"); |
クライアントから Web サーバに対して CGI の起動が要求されたとき、Web サーバは
CGI の標準出力をそのままクライアントに送信する。このとき、CGI は Web サーバに対して、送信する文書の種別を教える必要がある。これを
HTTP ヘッダという。
Web サーバに対して送信するのは、HTTP ヘッダと HTML 文書になるわけであるが、その区切りを明確にするため、HTTP
ヘッダの末尾には改行コードを 必ず2つつける。
以下に簡単な CGI プログラムの例を記述する。
01: #include <stdio.h>
02:
03: void main()
04: {
05: printf("Content-Type: text/html\n\n"); // HTTP ヘッダ
06: // HTML 本文
07: printf("<html>");
08: printf("<head><title>CGIの例</title></head>");
09: printf("<body>");
10:
11: printf("Hello <b> CGI </b> Program<br>");
12:
13: printf("</body>");
14: printf("</html>");
15: } |
上記プログラムをビルドし、実行可能権限が付加されている Web ディレクトリに配置することにより、CGI
を起動することができる。 |