8/06'96

next

1.いよいよCGIに挑戦!!


(96.6/5)

このホームページにも、来訪者数を数えるカウンターを設置してみたい。しかし、これはhtmlファイルをメモ帳で書くだけでは、実現しない。
ではどうするか、
ある掲示板でエーアイ出版の「ワンランク上のホームページのためのHTML&CGI入門」に、アクセス集計のやり方が分かりやすく書かれているという紹介があった。
さっそく、購入。
htmlについて改めて認識するところもあり、やはり分かりやすく記述されている。
しかし、CGI、SSIといった後半の章に入ると、それほど簡単ではなかった。

カウンターを付けるのは、まだいつになるか分からない。カウンターが設置された時点で、その顛末をここに報告したい。

prev next

1-1.SSIに挑戦

上の入門書に書かれた方法で、SSIを利用したカウンターを設置してみた。
先ず、カウンタープログラムを作成し、FTPを使いTEXT形式で転送。
chmod コマンドで、そのファイルを実行可能に。
同じディレクトリに数字を格納するファイルをTelnetで作成し書き込み可能属性に。
ホームページを書き換えてページ上で実行する前に、先ずはコマンドで動作を確認する。
うまく行っていれば数字が増えていくはずである。
が、数字が、0 からいっこうに増えない。どうやら失敗だ。

どのルートから見つけたのか、谷中一朝さんのネットサーフレスキュー[Web裏技]というページがあった。
ここに「超簡単アクセスカウンター」という願ってもない作成方法が書き込まれていた。
基本的には、上の入門書にある手順と一緒だが、もっと簡単だ。
今回は.htaccessというファイルも作成した。ホームページに「あなたは・・・」に続く文句とSSIコマンドを入れてみた。
ところが、「あなたは人目の来訪者です(テスト中)」の中に数字が現れない。これも失敗か。
ついに、作成者の谷中一朝さんにお願いすることにした。
同時に、プロバイダにも確認のメールを出した。

谷中一朝さんからはすぐに返事を頂いた。
ページに書き込まれたコマンドには、間違いがないので .htaccess がTEXTで送られていないのではないかというアドバイスをいただき、やり直してみたが、芳しくない。
谷中一朝さんにはお礼と状況を説明したメールを出した。
とその直後、プロバイダから、このサーバーはSSIには対応していないという返事。
谷中一朝さんには大変迷惑なことをしてしまったことになる。ここで、再度お詫びいたします。

これからSSI、CGIを作成したいという人は、先ず、プロバイダに確認してから実行するようにしてください。

prev next

1-2.CGIに挑戦

CGIについて、プロバイダから、汎用的なものを用意するが、個別に対応する場合、無償という訳にはいかないと思うという連絡を受けた。
予め作って、試してみるという事も出来るが、結局個別に対応してもらわなければならないのだろう。
6月初旬の連絡であったが、未だ用意できたと言う返事はいただいていない。
このまま待つのも能がない。
Javaならブラウザ上で何でも出来るとかのうわさを聞くが、どうやらJavaではカウンターは無理なようだ。

prev next

1-3.カウンター設置成功

カウンターサービスというサービスを利用すれば、SSI,CGIを使えないページでもカウンターが設置できることを知った。
ここでも由利ママさんのお世話になったのですが、WEB Counterという個人利用では無償というサービス。
但し、全文英語なので、英語が苦手という方は、大山さんという方が翻訳したページもある。勿論、私はこれを利用した。
ページ中の空欄(FORM)に必要事項を記入して、末尾の「Create Counter」というボタンをクリックすれば設定準備OK。
また、Web-Counterのロゴとリンクをページに貼るようにという注意書きもある。
必要事項として、メールアドレス、カウンターネーム、このカウンター用のパスワードなど全て覚えておかないと、後で苦労することになる。

このボタンをクリックして接続に成功するとHTMLへの書き込み方法などについての説明が英文で表示される。
ここで、このページはキャッシュにあるから大丈夫と思いプロバイダとの接続を切った。
この後、ハードディスクから自分のホームページを読込んだ。
これが失敗であった。
説明が書かれたページはもう表示されない。大事なページのキャッシュが上書き消去されてしまったのだ。もう戻せない。

とにかく、ページに表示されたHTMLコードを自分のページに書き込まなければ使えない。
ともかく後でWeb-Counterのページを辿るとそれらしい例題が見つかった。
例によりメモ帳を起動。例題をコピーアンドペーストして「あなたは・・・人目の・・・」という決まり文句を付けて保存。
プロバイダに接続してブラウザを表示させる。
カウンターの番号が入るはずの画像枠がやけに大きい。この枠には何も表示されていない。
ソースを良く見るとこの枠はWeb-Counterへのリンク付きのロゴの入る枠であった。
改めて、カウンター用コードを捜し求め、やっと見つけ出した。
このコードのnameとある部分を登録時に記入したカウンターネームに置き換える。カウンターネームは忘れていなかった。
こうして、私のブラウザに訪問者1番めが表示された。

HTMLコードの説明ページを「名前を付けて保存」しておけばずっと簡単に設定できたはず。

このカウンターは国外のカウンターサービスのサーバーにアクセスするのでトラフィックを考慮する必要がある。
ところで、トラフィックて、何だろう。カタカナから英字綴りを推測するのは難しい。traffic(交通量)でよいのだろう。

prev next

1-4.カウンターについて

アクセスカウンターを設置して分かったことがいろいろある。
まず、私が利用したWeb-Counterでは、個人による無料サービスが利用できるが、いろいろ制限がある。
例えば日本語版と英語版を用意したとしてもどちらか一方にしかカウンターが置けない。通常、個人ではカウンターがひとつあれば十分かな。
(といいながら、現在はページの各所にカウンターを置いている。)

カウンターを設置したページに一度アクセスすると、カウントアップされるが、後は、キャッシュが働いて、2度目は直接ファイルにアクセスしない。
しかし、リロード(再読込)するとそのページに再アクセスする。
この時カウントアップされるとなると自分で何度もリロードすることで、カウンター数を操作できてしまう。
Web-Counterでは、同じ人が、続けて読み込んだ時にはカウントアップされないような仕掛けになっている。
リロード毎にカウントアップする方を選択することも出来るが、本来の目的からすれば意味のある選択ではない。
ただ数値を大きくしたいなら、はじめから大きな数字を入れておけばいい。
通常は、初期数値を0として、登録した日付を記しておくことで、その日からどれくらいの人がそのページを見たかを判断する。
だが、実際のアクセスがあってもカウントされない場合もある。
カウンターを設置したホームページを飛ばして、直接興味あるページにアクセスしてきた時には、当然カウントアップされない。

ところで、企業で発表されるアクセス数というのは、一般に、アクセスしたファイル全てをカウントするものらしい。
ページに写真やボタンがあれば、その全てをカウントする。
朝日新聞のウェブページが1日100万カウントと発表されたりするが、この数字は、個人の通常のカウンターの方法と比較した場合、割り引く必要がある。
尤も、比較すること自体全く意味がないと思われるが。

prev next

1-5.カウンターの置替

(8/11)

プロバイダに連絡を取ったところアクセスカウンターの汎用CGIは既に用意されているということで、利用させて頂くこととした。

1サイトで、16個のカウンターが利用できるという。個人なら、ひとつあれば十分だなどと書いたが、使えるなら使ってみようということで、主なページにばらまいた。
こうしておけば、来訪された方が、どのページに関心を持ったかが分かるかもしれない。

Web-Counterとの違いはいくつかある。
リロードあるいは再読込すると、必ずカウントアップすること。
一旦カウントアップすると、0にリセットできないこと。これは、今後対応するとのこと。
適当な数字にセットできないこと。これは、前カウンターからの数字の引継ぎも出来ないと言うことになる。
何百回も再読込すれば可能だが。(^^;
Web-Counterでは、Web-Counterサイトに入り、いつでも編集できた。
さらに、その性格上カウンターの累計、カウント/日などの統計がWeb-Counterサイトから参照できた。

Web-Counterは、米国のサーバーのためか、時になかなかつながらないことがある。
これもI.E2.0でアクセスしている時には気にならなかったが、Netscapeにしたら、カウンター数字が表示されるまで、カウンター以降の部分が表示されないことが分かった。
このことも、カウンター置替の動機となる。

やはり、同一サーバー内での動作は速い。

prev next

1-5.A.カウンターの変更

(11/25)

プロバイダからカウンターの正式版がアナウンスされた。これに伴い、仕様が一部変更となり、カウンターの数字も1から出直しとなるようだ。
カウンターは各ページに配置しているが、スタートがそれぞれまちまちだったが、今回は各ページいっせいにスタートすることになる。
これは、まだ見込みであるが、アクセスの詳しい情報が得られるようになるかもしれない。
それにしても、たかが数字とはいえ、やっとカウント2000間近まで来て、0の振り出しに戻るのは、何か財産を失ったような寂しい気もする(^^;。
しばらく、旧カウンターと並列するが、いづれ取り外すことになる・・・。その辺りで、また評価してみようと思う。

1-5.B.カウンター数字を引き継ぐ

(97.3/20)

今年に入り、サーバー内の私のディレクトリをよく見ると、counter用のディレクトリが自動作成され、自分で付けたカウンター名と同名のファイルがあることに気が付いた。
はたして、このファイルの数字は編集できたのだ。
こうなれば、以前の数字を引き継いでみようという発想になる。これで、開設以来何人という見当も付くというもんだ。
というわけで、1月11日より数字を引き継ぐことにした。

このカウンターは、カウンター名を付けていけば、いくつでも新設できる。また、数字デザインもさまざま用意されている。
ひとつ気になったことは、この頃からページへのアクセスが重くなったことだ。
・・・と思っていたら、プロバイダからWeb サーバーのレスポンス向上のために4月1日をもって、より高性能のコンピュータに交換し、さらに1台を増設するという発表があった。
と、同時に、CGI、SSIへの道が開けそうな方向に進んでいくようだ。

−−−−

これは期待に終わってしまったが、別のサーバーで SSI、CGI を本当に使える環境をお借りすることが出来るようになった。

この続きは、手作りカウンターの方に進んでください。


prev next

2.FrameとJavaに挑戦


(96.8/24)

オリジナルCGIは、しばらくおくことにする。
Netscapeは勿論のこと、MSIEもバージョン3.0になり、FrameとJavaに対応した。
私も、CGIにこだわらず、いよいよ、FrameとJavaに本腰を入れることにした。

といっても、すぐにオリジナルJava Appletが作成できるはずがない。私にちょうどよい「Javaアプレット入門」という参考書を書店で見つけてきた。
付属のCDには、フリーやシェアウエアのアプレットが付いている。
今回は、表紙の流れるTEXTで、このアプレットを利用させていただいた。
この流れるTEXTは、カナダのJin Sato氏の作品で、パラメータを変更するだけで、このように出来てしまう。(※現在は取り外している)
このアプレットは以前に夢枕さん(リンク集参照)のページで見て気に入ってしまったもの。
パラメータの変更で、如何に、自分のページの雰囲気に合わせるかが勝負となる。

(11/25)

11月に入り、いよいよオリジナルJava Appletを作成することにした。
ただ勉強しても面白くない。以前から何か楽しめそうなアイデアはないかとは考えていたが、なかなかうまい考えは出てこない。
始める前からJavaの参考書についてはきよママさんからいろいろ聞いていたが、アイデアのないうちから参考書を買う気にもなれなかった。

ところで、私のページはIE3.0で表紙に入ると小鳥の鳴き声が聞こえていたが、Netscapeでは聞くことが出来なかった。
たまたま、きよママさんから、小鳥の声を聞くためにページを行ったり来たりしたとか、Javaでマウスが小鳥に触ると鳴くようにならないかという提案があったりした。
では、Netscapeでも小鳥の声が聞けるようにしようと、ここからJava Appletの作成が始った。

現在、Javaの実験として、順次プログラムの更改を公開(?)しているが、詳細については、Java applet超入門にて取り上げることとした。

(96.8/24)

フレームに関しては、以前のHTMLの参考書に説明があった。問題は、IE20のようなフレームが表示できないブラウザ用にどのように対応させるかということになる。
フレームが表示できないブラウザ用にそれなりの仕組みを組まないと見せたいページが見せられないという状況も起こりえる。

なんとか非フレームブラウザに対応できたと思うけれど、私の今の環境がフレーム表示可能ブラウザのみとなってしまったので、確認ができないでいる。

補足(11/3)
IE3.0はIE2.0を上書きしてしまうが、「上書後にIE3.0とIE2.0を共存させる方法」があります。
IE3.0のあるフォルダからie20.exeとfechrcn2.dllを探し出し、適当に作ったフォルダに、この2個のファイルを移動する。ie20.exeはiexplore.exeに、fechrcn2.dllはfechrcnv.dllに、それぞれ名前を変更するとのこと。
ただし、実際にはfechrcn2.dllは見つからず、fechrcnv.dllがあったのでそのまま移動してみました。
これで、フレームに非対応のIE2.0で試すことができました。
(8/30)

フレームを使って初めて分かった問題点。

  1. 私のページのようにindexのページ(Home Page)でフレーム分割すると、分割されたフレーム内の別のページからindexのページに戻る時、分割されたフレーム内にさらに分割フレームを作ってしまうことがある。
  2. 上とは逆に、フレームを解除した別の画面からindexのページに戻る時、フレームの分割がなくなってしまう場合がある。
  3. 分割されたフレーム内から外部URLへリンクする時、そのフレーム内に他人のページを表示してしまうことがある。
  4. 分割したフレーム内からTARGETオプションを付けずに外部へリンクする場合、Netscapeでは、分割フレーム内部にリンク先のページが表示されたが、MSIE3.0では、全くリンクされないという仕様の違いがあった。
  5. もう一つ別のブラウザを起動してしまうという場合もある。
以上を解決するには、TARGETタグを使うことになるが、これがなかなか理解しづらい。
解決策
  1. フレームのTARGETオプションについて、詳しくかつ分かりやすく書かれた参考書を探す。しかし、こうした参考書を探すことが、また難しい。
  2. 手当たり次第、TARGETオプションを使ってオフラインで試してみる。これは、一通り説明された参考書があれば、人に迷惑をかけずに確認できる。
  3. 問題は、外部へリンクする場合。動作確認には、オフラインで確認するという訳には行かない。結局は、多少人に迷惑をかけることになるかもしれない。
  4. フレームは、あるコーナーの中だけで使い、その中だけで完結してしまう構造とする。というのが、最も賢く無難な方法ということになりそうだ。
私は、フレームがこんなに難しいとは思わず、index.html で使ってしまった。
prev next

3.ゲスト伝言板の設置


(96.10/5)

ホームページを訪問してくれたのはどんな人か、どういう感想を持ったか、ナンダと思って帰ってしまうのか。
自分のサーバーに訪問者の声を落とすには、CGIが必要だ。そう思っていた。
しかし、もうひとつの方法としてメールボックスに落とすという方法もあるのではないかとかねてから思っていた。これなら、仮にCGIが使えなくてもJavaで何とかならないかと。

既に、Hirさん、なおとさんは、メールボックスに落とし、自分のコメントを付けてページに登録するという方法を実現していた。
当初、CGIが使えないからこの方法になったと考えていた。
軽い気持ちで、ちょっとやってみたいとどこかに書いたのが発端で、Hirさんからソースをいただいてしまった。
これが実はCGIを使ったものであった。CGIといってもちょっと特殊な方法を取っているので、もしかして、私のプロバイダでも使えるかと期待をした。
が、そう甘くはない。Hirさんの好意にもかかわらず、2〜3のテストの後、やっぱりだめだと結論せざるをえなかった。

ほぼ同時に、なおとさんからも、CGIを使えないサーバーで実現できるサイトの紹介を受けていた。
「Web裏技」の紹介であった。結局はこの方法を利用させていただくことにした。

実は、「来たよボタン」は、阿弓さんのページにあった「見たよボタン」を真似たのだが、阿弓さんのページには、他にフォームで自分当てにメールを送るというものも実現されていた。
ただし、このフォームは、IE3.0ではだめで、Netscapeでのみ利用できるとのことであった。
このフォームから「いまCGIを使ったフォームを考えている」とメッセージを送ってみた。
ところが、これがヒントになって、独自に「Web裏技」のフォームデコードサービスを探し出し、どちらのブラウザからも利用できるフォームを実現してしまった。
先を越されてしまったという感である。

ただ、こちらの目的は、Hirさん、なおとさん方式の伝言板である。
送られてきたメールメッセージにコメントを付けて登録するページも作りたい。

とにかく、「Web裏技」のフォームデコードサービスを利用して、フォームに書込んだメッセージが本当にメールボックスに送られるかテストしなければならない。
取り敢えず、例題にあるものをそのままテスト用htmlファイルに書きこみ、自分当てにテストしてみた。
これは成功であった。「Web裏技」の説明によると一度テストすれば、「そのページのURLと 利用者アドレスと最終利用日が記録されます。」とある。
もう投げ出すわけにはいかない。

テスト用のhtmlファイルを目的に合うように修正していく。こうして、再度テストする今度はエラーとなってしまう。なぜか。
実は、INPUT項目のNAME="名前" NAME="email" NAME="ホームページ"というところをNAME="Name" NAME="Email" NAME="URL"と置き換えたことが原因であった。
このうち、"email"だけは"Email"としてはいけなかったのだ。

こんなわけで、全く他人任せのフォームでも、そう簡単ではないということを実感したという次第。
ましてや、自分ではじめから作るなどというのは10年早いといわれても仕方ない。

・・・時は過ぎ、いよいよ私の環境にも SSI、CGI が自由に使える日がやってきた。
これは手作りカウンターに続きます。


prev next

To MENU