end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

IEはKeep-Alive+ajax(XMLHttpRequest)+POSTの際、稀にHTTP headerのみ送信

そんな噂をまわりで聞いたので、ググったら、確かにそんなエントリがあった。

javascript - Why does Internet Explorer not send HTTP post body on Ajax call after failure? - Stack Overflow
IE 8 issue occurs only when a web application make use of “AJAX” (XMLHttpRequest POST) to POST a form to the server

IEはKeep-Alive + AJAX(XMLHttpRequest POST) + POST時にKeep-Aliveの接続が切れると、httpヘッダだけ送信し、リクエストボディを送信しないことがあるらしい。
そうなると、ieはレスポンスを待ち、サーバはリクエストボディを待ち、timeout。

apacheerror_logに「(70007)The timeout specified has expired」と記録されている状態をたまに見ますが、これが原因かな?

解決策... keep-aliveを辞める? それはちょっと...