2004/02/26 00:25:14 JST
- 自分はvi者でEmacs?は全然分からないものの、思うところがあって、SKKを始めてみる事にした。
- phttpdは最近放置気味になってます…‥。
- Gauche?で怪しいモノを作ったりはしているのですが、ちょっと公開出来ず。
2004/02/21 02:14:06 JST
- 比較の為に、FastCGIでenv.cgiを作ってみた(通常のCGI?だと作れないので…‥)。
- ううむ、こうしてみると、明らかにメタ変数が足りてないし、おかしい…‥。
2004/02/21 01:29:08 JST
- ↓のメタ変数一覧を見てて思ったが、Apache?のmod_proxy経由でphttpdにアクセスする場合、現在は、fake-*として明示的に必要なパラメータを渡しているが、それよりも、HTTP_X_*メタ変数から自動生成するようにした方が便利な気がしてきた…‥。
- ただ、reverse proxy経由で使うのを前提にするなら、mod_proxyだけでなく、Squid?等にも対応した方がいい気はするが…‥。
- デフォルト設定のSquid?経由だと、X-Forwarded-Forとかは出してくれた気はするけど、X-Forwarded-HostとかX-Forwarded-Serverなんてつけてくれない記憶が…‥。
- とりあえず、自動生成する方向で考えてみる。
2004/02/20 23:50:26 JST
- Gauche?を7.4.1に入れ替えた影響か、更新しようとしたら、alist-deleteが無いといわれてしまったので、WiLiKi?を0.4p1に入れ替える。CVS?版を試した方がいいのだろうか。
- fuyuki: いえ、0.4p1のが無難と思います。
そのためにわざわざリリースしたわけで。
- なるほどです。じゃあ次のバージョンが出るまでは0.4p1でいきます。
2004/02/20 23:44:26 JST
- 本当は、一番最初に作っておかなくてはならなかった、メタ変数一覧servlet?を、今更作る。
- コレを見ると、なんか実装が怪しいメタ変数が何個かあるのがハッキリ分かる‥…。
- 関係無いけど、Gauche?を使って、素のCGI?で、環境変数一覧CGI?を作れない気がする‥…。環境変数のキー一覧が取得できないので。
- fuyuki: これは私も気になってました。どうしましょうかね。
Javaみたいに環境変数を切ってしまうのは
Practical Schemeではないと思うんですが、
environをじかにさわるのはあんまりやりたくない。
というより、MT的にまずい?
- うーん、どうなんでしょう…‥。Perl?は、確か、最初に環境変数そのものから普通の変数(hash)に環境変数そのものの値をコピーして、Perl?内ではソレを自由に使わせて、systemやexecする段階で改めてその変数から環境変数そのものを再設定してた気がしますけど(うろ覚え)。
- 普通に考えて、環境変数のキー一覧が必要になる場合って、メタ変数一覧CGIを作る時ぐらいしか思いつかないですけど、せっかくだから、とりあえず、本家のWiLiKi?に要望として出してみます。
2004/02/13 21:15:13 JST
2004/02/13 20:36:05 JST
2004/02/13 19:02:41 JST
2004/02/09 04:25:05 JST
- ↓のApache?のCLF書式に必要なパラメータを調べてみた。
- REMOTE_HOST (REMOTE_ADDR)
- IDENT (-)
- REMOTE_USER
- TIMESTAMP ([day/month(英三文字)/year:hour:minute:second zone])
- クライアントからのリクエスト一行目丸ごと
- レスポンスコード
- bodyのサイズ(サイズが0及びエラー時及びnph時は-)
- HTTP_REFERER
- HTTP_USER_AGENT
- ココで問題となりそうなのは、
- nph時でも、レスポンスコードを取っている(クライアントに送信する前にヘッダ解析を行っている)
- と思ったら、試してみたら、ココは中味がエラーだろうと何だろうと、nph時には200になる様子。考えて損した。
- bodyのサイズ取得
- の二つ。まあ、何とかするか、誤魔化すか…‥。
2004/02/09 03:10:32 JST
2004/02/09 02:59:05 JST
- アクセスログを取るタイミングで迷う。
- 普通に考えると、servlet?を呼び出す直前で、
(parameterize ((アクセスログに必要な変数色々を予め用意、)
(現時点では不明なパラメータの初期値は#fにしとく))
(with-error-handler
(lambda (e)
(何らかのエラーが出たので、)
(上記変数に、まだ#fなパラメータがあるなら、)
(ソレっぽい値を入れる))
(lambda ()
(CGI動作を行い、)
(そのヘッダ等を見て、)
(上記パラメータを埋め、)
(それを使って、アクセスログを出力してから、)
(クライアントにコンテンツ等を返す))))
- のようになるのか。
- (コンテンツを返す前にアクセスログを記録しておかないと、SIGPIPEで死ぬ気もするが、その場合でもApache?は実際に転送したサイズとか記録してたっけ???後でちゃんと調べる事。)
- (もし、実際に転送したサイズとか記録してるなら、やっぱり、アクセスログをとる前にクライアントにコンテンツを送る必要があるが…‥まあ、そこまでやらなくてもいいか)
- 上記手順だと、どうやってもアクセスログを吐き出すのは最後になるので、途中でsegv等してしまうと、アクセスログが残らないが、コレは仕方が無いのか…‥。
2004/02/07 23:13:38 JST
- 下の文、CLF書式はcommon log format書式ではなく、combined log format書式か?
- まあ、どっちでも、似たようなものか…‥。
2004/02/07 23:08:50 JST
- アクセスログのフォーマットについて考えてみた。
- Apache?のcommon log format書式(以下CLF書式)で吐き出させれば、何も考えなくても、Analog?やWebalizer?に掛けられる。
- しかし、本当にソレでいいのか!?
- Apache?では、mod_log_config?モジュールを使って、アクセスログの書式を柔軟に変更できる。
- しかし、phttpdでは面倒なので、そこまではしたくない…‥。
- そこで、phttpdのアクセスログは、
- 基本的に、CLF書式を組み立てるのに必要なパラメータ、及び、HTTPクライアントが送ってきたヘッダほとんど全てをロギングする
- 上記のログから、CLF書式を組み立てるスクリプトを付属させる
- というのを考えたが、どうか。
- 或いは、面倒なだけなのか…‥。
- いや、やっぱり、標準で、CLF書式で吐き出すオプションは必要か。その上で、上記の機能も用意すべきか。
- しかし、面倒なので、とりあえずは、全情報保存形式で実装してから、CLF書式を組み立てる方法を考える事にするか。
最終更新 : 2004/03/07 02:56:33 JST