GETとHEAD

Apache, PHP February 24th, 2007

CPANからLWPをインストールしたら大文字と小文字を区別しないHFS+のせいでheadが上書きされてしまったMacユーザの話題を最近読んだが、今このHEADでちょっと困っている。

Apacheの子プロセスがSegmentation faultで落ちてしまうので原因を調べたら、HEADでアクセスしてくるクローラの処理で起きていることがわかった。HEADでUser-Agentを同じにしてそのアクセスを試してみたら100%再現できる。でも、同じことをGETでやっても発生しない。HEADとGETでウェブアプリの挙動が違うなんて、一体どうしてだろう。最初は、このクローラのUser-Agentの処理が間違っているのかと思ったが、メソッドをGETにするだけで発生しなくなるのだから、おそらく違うのだろう。バッファリング処理があやしいのかも、などなど予想はしているのだが、まだ全然確証がない。

少なくともうちで開発しているフレームワークが入っていない環境では再現しないので、自分たちのコードが問題なのは明らかだ。困ったものだ。

#追記:サードパーティーのApacheモジュールが原因だった…

Leave a Reply