GETとHEAD
CPANからLWPをインストールしたら大文字と小文字を区別しないHFS+のせいでheadが上書きされてしまったMacユーザの話題を最近読んだが、今このHEADでちょっと困っている。
Apacheの子プロセスがSegmentation faultで落ちてしまうので原因を調べたら、HEADでアクセスしてくるクローラの処理で起きていることがわかった。HEADでUser-Agentを同じにしてそのアクセスを試してみたら100%再現できる。でも、同じことをGETでやっても発生しない。HEADとGETでウェブアプリの挙動が違うなんて、一体どうしてだろう。最初は、このクローラのUser-Agentの処理が間違っているのかと思ったが、メソッドをGETにするだけで発生しなくなるのだから、おそらく違うのだろう。バッファリング処理があやしいのかも、などなど予想はしているのだが、まだ全然確証がない。
少なくともうちで開発しているフレームワークが入っていない環境では再現しないので、自分たちのコードが問題なのは明らかだ。困ったものだ。
#追記:サードパーティーのApacheモジュールが原因だった…
Comments
>追記:サードパーティーのApacheモジュールが原因だった…
詳細がしりたいです。
たいした話でもなくて、プロプライエタリなapacheモジュールにHEADリクエストの処理ができない素敵なバグがあったのです。ベンダに連絡したらさすがに速攻で修正されました。
自分たちの製品が、そのモジュールとセットで販売してたので勘違いしました。
なるほど。ご回答ありがとうございます。