[Top] [CGI研究室]
掲示板のしくみ

掲示板CGIのしくみについて

  1. 掲示板CGIの形態
    掲示板CGIには以下の2つの形態があります。


    掲示板で一番多い処理が「表示」ですので、表示用HTMLファイルを使用した方がサーバーの負荷が軽く、 混雑時でもそれほど表示が重くならないというメリットがあります。
    しかし、HTMLファイルの場合、ブラウザやプロキシのキャッシュが効いてしまうと、内容を更新しても 古い方の表示が残ってしまい、リロードしないと書き込んだ内容が表示されない場合があります。
    また、直接表示するのであれば自由な過去ログ更新が可能ですが、表示用HTMLファイルを使用するとなると どうしてもページ単位の過去ログ更新になってしまいます。

    どちらの形態にするかは掲示板の形式などによって異なりますが、まず最初に作るのであれば 直接表示するタイプの掲示板をお勧めします。

  2. 掲示板の表示
    パソコンのWEBブラウザから掲示板CGIのアドレスを指定してアクセスしたときに 掲示板CGIが実行されます。
    実行された掲示板CGIはアクセス内容を解析し、 アクセス内容が「表示」の場合は掲示板のログファイルを読み込み、 HTML形式で内容を出力する事によって、 WEBブラウザ上に表示します。

    パソコン サーバー
    WEBブラウザ 掲示板CGI
    アクセス
     −−−−→ 
    アドレス指定 実行
    アクセス内容解析
    [表示]
    ログファイルを
    読み込む
    HTML
     ←−−−− 
    掲示板の
    内容表示
    掲示板の
    内容出力
    終了

  3. 掲示板への書き込み
    掲示板の内容表示等によって表示された投稿フォームに記入して送信ボタンを押すと 掲示板CGIへ投稿フォームが送信されます。
    掲示板CGIは実行してアクセス内容を解析し、 アクセス内容が「書き込み」だった場合は投稿フォームの内容を掲示板のログファイルへ追加します。
    あとは、再度掲示板の表示の処理を行う事で、書き込んだ人が書き込みを確認することができます。

    パソコン サーバー
    WEBブラウザ 掲示板CGI
    投稿フォーム
     −−−−→ 
    投稿フォーム記入
    &送信ボタン押下
    実行
    アクセス内容解析
    [書き込み]
    ログファイルへ
    投稿内容を追加
    ログファイルを
    読み込む
    HTML
     ←−−−− 
    掲示板の
    内容表示
    掲示板の
    内容出力
    終了

  4. 処理判断
    フォームに非表示項目として処理を判断できる内容を含めておく事で 掲示板CGIが送信されたフォームを解析したときに「表示」や「書き込み」といった処理を 判断する事ができます。

    例)
      <input type=hidden name="proc" value="disp">
                とか
      <input type=hidden name="proc" value="write">

    最初のアクセスではフォーム自体が送信されませんので、 処理判断用の項目が無い場合は「表示」とみなす様にしておきます。

    また、同様の方法でページ切り替え時の「表示位置」なども非表示項目として含めて使用したりします。


CGI Saloon