第8回 動的なWebページの作成

本日アクセス: 3 件

目次

課題の提出について

アクセスカウンタとSSI

カウンタとは

Webページには,既に用意した情報を提示するだけでなく,ブラウザからのリクエストに応じて、さまざまな動的な情報を表示するページがあります.カウンタはその非常に簡単な例です.このページの上には例として簡単なカウンタが付いており、新しいブラウザからアクセスがあると数字が増えていきます.

課題1:外部のカウンタを設置する

  1. 世の中には,フリーでカウンタ機能を提供してくれるところもあります.
  2. サーチエンジンで検索して、カウンタつきのWebページを作成してください。
    • 「無料 カウンタ」「フリー カウンタ」等で検索するとよいでしょう。
  3. カウンタをつけたページでは、どういう手法でカウンタを入手して作ったかを説明して下さい.

課題2:C言語の自作カウンタを設置する

  1. 前々回の課題でC言語でカウンタのプログラムを作る課題(課題5)がありました.
  2. そこで作ったプログラムをすこし改造し、カウンタつきのWebページを作成してください。
  3. Webサーバの「SSI」という機能を使うと比較的簡単にカウンタを設置することができます。
     <!--#exec cmd="実行ファイル名"-->
    • 「SSI apache」「shtml テキストカウンタ」などのキーワードで検索してください。
  4. カウンタをつけたページでは、どういう手法でカウンタを入手して作ったかを説明して下さい.

【ヒント】

CGIプログラミング

CGIとは

CGIとはWebサーバにプログラムを組み込んで、ブラウザ(ユーザ)からのリクエストによって、その場に応じた情報を表示するページを実現する技術です。つまり、ブラウザからのリクエストをプログラムで処理して、定められた手順(プロトコル)に従って応答を返すことになります。

CGIを作成するためには、まずHTTPについて学ぶ必要があります。

HTTP(ハイパーテキスト・トランスファー・プロトコル)

  1. Webサーバとブラウザの間の通信手順(プロトコル)を見てみましょう。
  2. 下記のコマンドで、Webサーバ vilab.org にHTTP用のポートで接続することができます。telnetコマンドにはこのような機能があります。
    telnet vilab.org http
  3. すると、下記のように表示されてサーバに接続されると思います。
    Trying 202.253.197.203...
    Connected to vilab.ele.eng.tamagawa.ac.jp.
    Escape character is '^]'.
  4. ここで、Webページ http://vilab.org/test.html を取得するためのHTTPのコマンドを打ち込みます。下記のように入力してください。(入力は表示されないかもしれません)
    GET /test.html HTTP/1.0[改行]
    [改行]
  5. すると、サーバから応答が得られます。
    HTTP/1.1 200 OK
    Date: Mon, 13 Jun 2005 15:36:31 GMT
    Server: Apache/1.3.33 (Debian GNU/Linux) …途中省略… DAV/1.0.3
    Last-Modified: Mon, 13 Jun 2005 15:36:07 GMT
    ETag: "2841b2-7c-42ada7e7"
    Accept-Ranges: bytes
    Content-Length: 124
    Connection: close
    Content-Type: text/html
    
    <html>
    <head>
    <title>viLab</title>
    </head>
    <body>
    <h1>Visual Interface Laboratory</h1>
    This is a test page.
    </body>
    </html>
    • この1行目の「HTTP/1.1 200 OK」は、Webサーバから成功したかどうかの応答。
    • 2行目から空行までの「属性名: 値」というのは、HTTPヘッダ。
    • そして、空行以降が test.html 本体のHTMLとなっています。
  6. 以上は、通常Netscape NavigatorやInternet ExplorerなどのWebブラウザが行っていることを、手動でやってみたわけです。

課題3:単純なCGIプログラム

課題4:接続情報を表示するCGI

課題5:時刻を表示するCGI

認証つきページ

課題6:認証つきページ

第5回レポート

課題の提出を忘れずに

レポート課題

【問1】 以下の言葉をすべて使って、WWWについて簡潔に説明する文章を作成し、できあがった文章を電子メールで提出しなさい。その際、用語集のような箇条書きではなくて、教科書のようにつながった文章で書くようになさい。また、提出は、添付ファイルではなくて電子メールの本文に書くようにし、段落を整えるなどして十分に読みやすいように整形しておくこと。

以上

【問2】 「無断リンク禁止」「このページに許可なくリンクしないでください」「トップページ以外へのリンクを禁じます」「リンクはトップページにしてください」などと書いてあるWebページがある。このような注意書きについてどう思うか、簡潔に自分の考えをまとめなさい。

【提出期限】 次回実験開始まで(開始後のものは受け付けない)。

【提出方法】 hi-shiozawa@adms.tamagawa.ac.jp に電子メールで提出(Linuxからでなくてもよい)。実験の時間中に終わらなかった場合には、途中経過を演習室のアカウントに送るとよい。学生Webメールシステム http://mails.educ.tamagawa.ac.jp で見ることができる。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-06-15 (水) 16:35:54