まつもと ゆきひろです

In message "[ruby-list:2482] WWW library (Re: class design)"
    on 97/03/29, GOTO Kentaro <gotoken / math.hokudai.ac.jp> writes:
|あすなろ後藤です. 

|僕は python のライブラリをちょっと使っただけですが, 
|仕様は悪くないと思います. 
|基本は HTTP, FTP, GOPHER, NNTP などのスキームが socket を
|使ったオブジェクトとして実装されています. URL.open(url) は
|url を解析してスキームを決定するわけです. 

トップダウンで考えると,まず

  URL.open(url)

で基本的なメソッドを実装したオブジェクトを返すわけですね.と
なると考えなくてはいけないのは,その返って来るオブジェクトが
実装すべきメソッドはなんであるかですね.

pythonの場合はread(), readline(), readlines(), fileno(),
close(), info()を実装しているようですから,こちらもその程度
は実装しないといけないでしょうね.filenoは要らないかな?

んで,各スキームのハンドラを書かないといけないわけですが,ス
キーム毎にプロトコルも違うし,proxyのこともありますし,なか
なかつらいかも.とりあえずはMMMのようにはhttp用のハンドラだ
け用意して,他のスキームはproxyでhttpに変換してもらっても良
いかも知れません.

|httpサーバーを書く
|場合には(METAやSSIのために) HTML も実装されている必要があると
|思いますが, それなら SGML もある程度扱えるようにしておく
|必要があるので(というか個人的には HTML3.2 の次は XML が
|はやると思うので)しんどそうです. いずれは欲しいんですけど. 
|# SGML を扱うための一連の道具は欲しいなぁ. (ぼそっ)

いろいろ欲しいものはありますね.

|しかし, ruby でWWWブラウザを書くというのは憧れます. 

いつかやりたいですねえ.

|# そうなるとやっぱ safe.rb は欲しいやも :)

プロセスごとsafeにする方法はあるんですけど,普通はそれじゃ使
いにくいですね.
                                まつもと ゆきひろ /:|)