このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

CyberDogの不具合

発言者:児玉@Gallery GOGAKU
( Date Friday, August 23, 1996 20:22:41 )


皆様こんにちは、人騒がせな児玉です(>_<)

不具合の原因らしきもの(?)を投稿させていただきたいと思います。

easyBBSがeasyBBS_DX_b2になってからコメントへジャンプする仕様に
なりましたね。以下にファイル名(?)のサンプルを載せます。

<新規発言>
http://192.168.168.2/easyBBS/bbs.acgi?r=room_2&BBS_MSG_960823195355.html
<それに対するコメント>
http://192.168.168.2/easyBBS/bbs.acgi?r=room_2&BBS_MSG_960823195355.html#960823195427

Netscapeでは<それに対するコメント>を通してくれるのですが、
CyberDogでは「Bad name for file」とエラーになります。

それをリトライするために同じものが何度も書き込まれてしまうと思うのですが
いかがでしょうか。

これがCyberDogの仕様なのか、設定すれば対応できるのか再度調べてみようと思っています。

児玉@Gallery GOGAKU さんからのコメント
( Friday, August 23, 1996 20:30:01 )

nalikaさん:

nalikaさん別のとこで見っけ(^_^)考えることは同じものですね。
私もCyberDog結構気に入ってますよ。

田中求之 さんからのコメント
( Friday, August 23, 1996 21:02:33 )

ジャンプは Netscape だけでしか利かないようだというのは分かっていたのですが、
CyberDog ではそういう問題を起こすのですか。

通常のジャンプとはすこし異なり、HTML の規格から考えると無効になっても文句は
いえないものだとは思っていましたが、エラーの原因になるのであれば放っておく
ことはできませんね。

とりあえず、ユーザーの Agent (クライアントソフト)をチェックして、ジャンプ用の
指示を追加するかどうかを分けることは可能ですが、むしろ思い切ってカットした方が
安全かもしれませんね。


児玉@Gallery GOGAKU さんからのコメント
( Saturday, August 24, 1996 12:28:40 )

田中さん:
nalikaさん:

WebSTARのコメント時のステータスをCyberDog使用時、Netscape使用時に分けて
載させていただきたいと思います(抜粋)。

<CyberDog>
### Received (18): 
POST /easyBBS/bbs.acgi?r=room_1&BBS_MSG_960824115316.html#960824115343 HTTP/1.0

<Netscape>
### Received (10): 
GET /easyBBS/bbs.acgi?r=room_1&BBS_MSG_960824115959.html HTTP/1.0

となっています。CyberDogではサーバーに問い合わせるファイル名がおかしい
ためエラーになるのでしょうか。

#それにしてもローカルとインターネットの違いって・・・???

nalika さんからのコメント
( Saturday, August 24, 1996 12:42:14 )

コメント時に#*******が付くのが問題なのですね。

Netscape だけ大丈夫ということは、自動的に#以降を削除するように
なっているのかな。(Cyberdogはそのまま送っちゃう)

とすると、cgi 側で、コメント時にパラメータをチェックして#以降が
付いてたら削除するという対処では無理なのでしょうか。

ところで、もし必要なら Apple-EとApple-Jにレポートしようと思うのですが、

1 Netscape の拡張仕様なので、これが普通である(できるNetscapeが変)
2 これが普通であるが、Retry を繰り返すのは変である
3 Cyberdog のBUGである
4 Cyberdog のBUGとは言えないが、不都合の多い仕様である。
5 その他

のどれが適当なのでしょう。


田中求之 さんからのコメント
( Saturday, August 24, 1996 15:02:08 )

ジャンプ用のタグ( #xxxxxx )の処理については、Netscape の場合は、
URL の中に #xxxx が付いていると、それをサーバーに送らずに、自分で
キープしておいて、表示の際にジャンプ処理を行います。

つまり、 http://yourHost/webcon.mtxt$960823202241.html#960824124214
という URL にアクセスする場合(この会議室です)、NetScape は、サーバーにたいしては

 webcon.mtxt$960823202241.html

という URL でアクセスを要求し、送られてきたページのデータを元に

 #960824124214

という場所へジャンプを行います。ところが CyberDog の場合は

webcon.mtxt$960823202241.html#960824124214

という、そのままの URL でサーバーにアクセスを行っていますね。これですと

960823202241.html#960824124214

という名前のファイルに対するアクセスの指示が CGI に渡されますので
CGI の方では該当するファイルなしとして処理を行います。

#xxxxx の処理をブラウザがどのようにインプリンメントするかは
制作者によりますので、Netscape  と CyberDog のどちらが正しいと
言える問題ではありません。また、この会議室や、EasyBBS の場合、
パラメーター(path_args あるいは search_args)のなかに #xxxxx を
付けている(純粋なページ指定の部分ではない)という大きな問題 (^_^;;
がありますので、EasyBBS の仕様が Netscape 依存になっていると言われても
しかたがないということもあります。

ですから、CyberDog のバグとは言えないと思います。

そこで、とりあえず、EasyBBS については、パラメーターに #xxxxx が
含まれていたら、それをカットした上で処理を行うようにスクリプトを
修正しておきましょう。

もちろん、この会議室も、このあと、夕方に行う定期メインテナンス時に
修正を加えておきます(他にも手を入れる予定の箇所がありますし)。

児玉@Gallery GOGAKU さんからのコメント
( Saturday, August 24, 1996 16:20:34 )

田中さん:

非常に明快な回答、毎度のことながら敬服いたします。
今日は安心して眠ることが出来そうです(-_-)

ありがとうございました。