T

GETとHEAD

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

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

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

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

Posted by on 2月 24, 2007 in Apache, PHP

Comments

  • booo-n より:

    >追記:サードパーティーのApacheモジュールが原因だった…
    詳細がしりたいです。

  • y より:

    たいした話でもなくて、プロプライエタリなapacheモジュールにHEADリクエストの処理ができない素敵なバグがあったのです。ベンダに連絡したらさすがに速攻で修正されました。

    自分たちの製品が、そのモジュールとセットで販売してたので勘違いしました。

  • booo-n より:

    なるほど。ご回答ありがとうございます。

  • コメントを残す