コンピュータネットワーク基礎
2005.07.08
電子メールで出席確認をします.宛先など以下の情報を用いてメールを作成し, 出席申告してください.なお,キーワードは授業中に紹介します.
提出形式
宛先 | justice@mag.shimane-u.ac.jp | |
件名 | AttendA_07-08_net_s0340** | Aクラス |
AttendB_07-08_net_s0340** | Bクラス | |
本文 |
学生番号 氏名 キーワード |
(改行) (改行) キーワードは授業中に紹介 |
注意 | 「件名」の**をそのままにしないで,必ず自分の学生番号 に修正して下さい.また,ABクラス別は指示にしたがって下さい. |
授業の最初に授業アンケートを実施します.
前々回に試したように,現在はWWWを媒介として様々なアプリケーションを利用 できるようになっています.相互作用可能と言う意味で,インタラクティブ (interactive)なページとも呼ばれますし,利用者の使いかたによって表示内容 が変化するため動的(dynamic)なページとも言います.今回はそのごく簡単なと ころをいろいろと試してみましょう.使うのはページ内に仕組まれたプログラム がブラウザを利用しているクライアント側で動作するJavaスクリプトとサーバ側で動 くCGIです.
教科書のp.142にはJavaアプレットが紹介されています.Javaという言語はコン ピュータのOSに関係なく,仮想実行環境を用意しさえすればどのプラットフォー ムでの同じプログラムが走ることが特徴ですが,スクリプトの方は仮想環境で動 作させるためのコンパイルなどが不要なスクリプト言語プログラムです.コンパ イルも不要と言うことは,HTMLの中に記述しておけばクライアントがそのまます ぐに実行できると言うことです.
次の例を試してみてください.また,ソースをコピーするか, 右クリックでダウンロードして自分で修正を加えて試してみてください.
HTMLファイルに修正を加えるには,リンクを右クリックして出てくるメニューで 適当な場所 (public_html ディレクトリ) に保存して,エディ タにより修正を加えて保存します.ブラウザで見れば修正が反映しているはずで す.修正を加えるたびに,ブラウザで「再読み込み」することを忘れないで下さ い.
色の名前やRGB16進コードにより,ページの文字や背景を変更することはHTMLの 基本です.ここで紹介されている例は,マウス操作により動的に背景色を変える 例です.
色の名前が英語で指定してあるものと,16進で指定してあるものの両方がありま す.色の名前はなかなか英語では覚えていないものなので,自分でRGB指定する 方が楽です.
ここに挙げたサンプルは書籍,「決定版ホームページサンプルスクリプト大全」 (古籏一浩,三津原敏著 技術評論社,1999)を参考にしています.
教科書のp.124にあるような動的なプログラム実行をWWWを介して行うために用意 されたインターフェイスがCommon Gateway Interface (CGI)です.HTMLに記述さ れたプログラムへのリンクによって,実行プログラムが呼び出されその結果が HTMLページに反映されたり,メールやデータベースと連携して作業したりするこ とが可能です.ここでは,CGI入門としてよく知られるアクセスカウンタとメー ルで内容を転送するフォームについて学習します.準備が必要ですので,まずはそこから始めましょう.
CGIはサーバ上でプログラムを走らせるため,セキュリティ上危険な要素を持っ ています.そのため,一般ユーザには自由にCGIを使わせないサービスプロバイ ダも存在します.使用できる場合でも,CGIプログラムを置くディレクトリを制 限されている場合があります.ここでは,そのように制限がなされているときに, もっとも一般的な cgi-bin ディレクトリを想定した作業を行いましょ う.まずはディレクトリの作成です.
$ mkdir ~/public_html/cgi-bin
として,ディレクトリを作成します.以後の作業はそのディレクトリの中で行い ます.
Webページにアクセスするとよく「あなたは123人目のお客さまです.」のような 表示を見るでしょう.このようにアクセスされた数を数えるカウンタを「アクセ スカウンタ」と呼び,CGIを利用するもっとも一般的な例のひとつです.ここで は,そのアクセスカウンタの中でもさらにもっともシンプルなテキスト表示のも のを練習してみます.
がスクリプト本体です.これを最後の拡張子 .txt を .cgi に変更して cgi-bin ディレクトリに置きます.名前がそのままではスクリプト として動作できませんので,注意して下さい.
このスクリプトは中身を見るとわかるようにRubyで書かれています.ファイルの 読み出しと書き込み,ヒアドキュメントと言う手法は1年生のときの情報科学概 論では扱っていませんが,非常に簡単な処理であることは伺えるでしょう.読み 込むたびに,カウンターとして用意している数字に1加えるだけです.その結果 をファイルに書き込むと同時に,ブラウザにHTML言語でページ内容を出力してい ます.そして,カウンタとして,count.txt というファイルが用意さ れていないといけないことがわかります.そこで,そのファイルを用意しますが, 最初中身は空で構いません.中身の無いファイルを作成するには touch コマンドを利用します.
$ touch count.txt
後は,CGIスクリプト本体と count.txt の保護モードを適切に設定す るだけです.動くようになるまで,自分で試してみましょう.
なお,自分で作成したスクリプトの動作確認は現在立ち上げている2号館のサー
バに接続する形で行って下さい.URLは,
http://172.16.2.105/~b03**/cgi-bin/hoge
のようになります.また,CGIスクリプトは2号館のPCでは動作しませんので,復
習などの作業は必ず720教室で行って下さい.
次に練習するのは,入力内容をメールで転送するスクリプトです.これは,オン ラインショッピングや各種のユーザ登録などで広く用いられているので,みなさ んも体験したことがあるのではないでしょうか.ここでは,自分宛にメールが届 くように設定して使ってみましょう.webページの本体は,次に示すものですの で,これをやはり cgi-bin ディレクトリに置いておきます.
中身の構造は,ブラウザの「表示」メニューの「ソースを表示」から確認して下 さい.もちろん,この中身を編集しても構いませんので,エディタで必要な事 項を編集します.
一方,このHTMLファイルには,
<form action="mail.cgi." method="POST">
という行があります.ここで,動作を行う実体は mail.cgi であるこ とがわかりますので,このファイルを用意します.
エディタで中身を編集して下さい.必ず編集しなければならないのは,メールを 送信する先,すなわち,自分のアドレスです.ここを間違えてしまうとメー ルが届きませんし,サーバがエラーログを管理者に出してしまいます.
このスクリプトに置いても,保護モードを正しく設定して動作確認を行って下さ い.
ここで扱ったCGIサンプルは書籍,「RubyによるCGIプログラミング」(三並慶佐 著,SCC,2001)を改造したものです.
授業の終了20分前くらいに小テストを実施します.アナウ ンスに注意してください.また,提出は電子メールにより行いますので,メール の送信準備は忘れないでいて下さい.
Aクラス小テスト |
Bクラス小テスト |
授業の終りに宿題の説明をしますので,アナウンスに注意してください.
Aクラス宿題 |
Bクラス宿題 |