HEADアクセスを受け付けないサイト
これまでこのスクリプトは、まずHEADアクセスしてContent-Typeとかを見てからあらためてGETアクセスしてました。なんでこんなことしてたかというと、HTTP_Requestは、GETの場合、ボディの読み込みが完了するまでレスポンスを返さず、その前にヘッダを料理する方法が提供されていないので、巨大なバイナリとかを間違って読みに行かせちゃったりすると大変なことになっちゃうので、まずHEADしてその結果次第でGETするという段取りにしていたわけです。
で、ところが某IT情報系サイトが、いつのまにやらHEADアクセスを受け付けなくなっていて、そこにHEADアクセスしようとすると、最悪の場合あろうことかApacheがハングしてしまうことに気付きました。どこでどうなっちゃってるのかちゃんと調べてませんが、少なくともこのスクリプトがどうこうではないようです。なんにせよ、これはさすがにヤバいわけで、いずれにせよ以前から、この二重アクセスは無駄だよなあと思っていたので、こうなったらHEADはやめようと。
で、しかしどうするとかというと、(自前で同じようなものを用意する以外には)HTTP_Requestをなんとかするしかないわけで。しかし配布を前提にしているスクリプトなので、改造は避けたいわけで。extendsとかで済ませられないものかとソースとにらめっこを続けた挙句、無理じゃん(というかどうやっても効率悪すぎ)ということで諦めて、仕方なくHTTP_Requestを改造してしまうことにしました。
デモサイトのものは、この改造済みのものになっていて、無駄な二重アクセスがなくなったおかげで随分サクサク動くようになりまして。というか、このサクサクっぷりは予想以上だったりするわけですが、問題は、これだとまたぞろ設置いただく際の手間が面倒になっちまうなあ、と。
なにかいい方法はないものかしら?
2006/04/03
トラックバック
このエントリーのトラックバックURL:
http://www.rcdtokyo.com/mt/mt-rcdtokyo5428-tb.cgi/732