2013-05-24 8 views
5

ブラウザのHTTPリクエストがRestletサーバーで使用されているSimpleコネクタによって破棄されているような、本当に奇妙な問題が発生しています。シンプルなコネクタのリクエストを削除したRestlet?

Serverのセットアップ:

  • のRestlet 2.1.2サーバー
  • のRestlet - シンプルな拡張(シンプル4.1.21が付属しています)
  • ダイジェスト認証を

用のRestlet、暗号の拡張サーバーはWebページをブラウザに提供しており、javascriptのXMLHttpRequestを使用して更新を取得します。これらのXMLHttpRequestのいくつかは完了しません。 Chrome用のjavascriptデバッガは、これらの「失敗した」ステータスを表示します。 FirefoxのデバッガはHTTPステータスコードと記録されたレスポンスなしで完了時刻を記録します。パケットスニッファーは、問題のある要求が実際にサーバーに送信されるが、サーバーは決して応答しないことを示します。デバッグでは、これらの要求はサーバーコードに到達しません。

Firefox、Chrome、IEの問題を確認しました。 3つのブラウザ(最新バージョン)はすべてこの問題にぶつかります。また、各ブラウザは、正確に同じ要求に対して繰り返して再現性のある問題を抱えています。このリクエストのセットは3つのブラウザ間で異なります。

本当に奇妙なのは、マシンのIPアドレスを使用しているときにサーバーのマシン名(テストはLAN上で実行)を使用しているときに問題が発生しないことです。 DigestからBasic認証に切り替えると、SimpleコネクタをJettyに置き換えるときと同じように問題が解決されます。

私は現在桟橋に切り替える傾向がありますが、私はまだ何が起こっているのか知りたいと思います。誰もこのような行動を以前に見たことがありますか、ここで何がうまくいかないのか考えていますか?

+0

Restletを認証で設定するコードを投稿する必要があります。 – gma

答えて

0

最近、Restletで同様の問題が発生しましたが、その結果一部のリクエストが完了しませんでした。この問題はRestlet内の同期されていないマップアクセスであり、すでに修正されています(https://github.com/restlet/restlet-framework-java/issues/753)。

CPUトラフィックが多いスレッドが1つまたは複数表示されている場合は、この問題の影響を受けている可能性があります。

XMLHttpRequestsが並行して提供される場合、影響を受ける可能性があります。

+0

その特定の問題は、おそらくランダムな障害につながります。私の場合、無視されるリクエストのセットは、常に再現可能に同じです。これはブラウザによって異なります。だからfirefoxはリクエストの1つのセット、IEを別のセットに、Chromeを別のセットにミスします。 –

関連する問題