javaのWEBシステムを開発しているのですが
ブラウザでリクエストを一回しか実行していないつもりのものが
2回処理されるという現象がおき、アクセスログを見たところhttpステータス499の直後に200のログがあり、
アプリサーバ側は2回処理された結果になりました。
初めて目にする499のステータスなので
ネットで調べてみたのですが、4xxはクライアント側のエラーという以外
詳細がわからず、対応に困っています。
そもそも499事態、特別なコードなのでしょうか
また、499の場合のブラウザの動き(強制的に再度リクエストをおこなうなど)
ご存知の方、いらっしゃいましたらご教授いただけますでしょうか
http://www.iana.org/assignments/http-status-codes/http-status-codes.xml
公式には割り当てられていません。
たぶん、アプリケーション側で独自に返しているのでしょう。
思いつくところでは、
とか?
なにかエラーメッセージが返されているかもしれません。特にメッセージが入ってなければ、意図は仕様書かコードか作った人に聞くかしないとわからないかもしれません。
2回アクセスがあるのはもしかするとLocationヘッダが含まれているからかもしれません。
499は決められたエラーではないのでブラウザが勝手に動くことはないと思います。
ただ、確認はしていませんが、Locationヘッダがあればどのようなステータスコードでもリダイレクトするかもしれません。
とりあえず、パケットキャプチャするとか、wgetやcurlなどでヘッダも含めた詳細なレスポンスを確認するとかしたらどうでしょう?
curlなら-vオプションで、wgetなら-dオプションと--max-redirect=0で、詳細なレスポンスが得られると思います。
ありがとうございます
2013/01/15 20:28:16再現はできない状況で再発防止の対策をおこないたいので
499が公式には未定義のコードということがわかりましたので、499を設定している箇所を調査して進めたいと思います