Grizzlyサーブレットコンテナ(2.1.7)が組み込まれたMilton WebDAVサーバー(1.6.8)を使用しています。デフォルト設定では、少なくともCyberduck発行のPUT要求は機能しません。私はこの問題を、HTTP 100 Continueの処理方法(Jettyにも影響するように思われます)の問題に追い込んでいます。Milton mailing listとbug trackerのメッセージは、「transparent expect」で賢明にしようとしているサーブレットコンテナの障害です/処理を続ける "。HTTP 100を取得する方法組み込みのGrizzlyでWebDAVの作業を継続しますか?
はい、透過的に処理するコンテナは、WebdavのHTTPセキュリティを効果的に中断し続けます。 HTTPはチャレンジ/レスポンスセキュリティモデルを使用しており、多くのクライアントがそれに依存しています。つまり、PUTを実行すると、認証されていないPUTを実行し、ファイルがアップロードされる前にExpectContinueを使用してチャレンジが発行されるようにします。
しかし、ExpectContinueを透過的に処理すると、ファイル全体がアップロードされてから、milton APIが現在のユーザーが認証され、アクションを実行する権限があるかどうかを確認できます。
サポート対象のクライアントに応じて、これは完全に受け入れられないか、迷惑であるか、問題ではありません。
しかし、一般的には、Grizzlyの透過的な処理を無効にしてから、miltonのサポートを再度有効にすることを試みるべきだと思います。
Grizzlyの透過的な期待/継続処理を無効にするにはどうすればよいですか?これは本当に正しいアプローチですか?代替案は、Miltonのexpect/continue処理を無効にすることですが、WebDAV認証を破るようです。
アップデート:私も突堤を試してみましたが、今(8.1.0.RC1)、そしてそれはグリズリーと同じ挙動を示す:取扱いは、私はそれがないデフォルトの設定で、ファイルを置くことができますオフになっていき/期待するだけで作業。
ミルトンの「リファレンスコンテナ」は、expect-continueがすぐに使えるものですか?私はそれを動作させることができない場合、私はグリズリーを使用する必要はありません。 – Thilo