わかりました、ここで私自身の質問に答えますが、解決策を見つけました。
@BalusCによって作成されたカスタムファイル サーブレットを使用していました。問題はそこにあった
ここに私の発見があります:
Content-Encoding: gzip
とを組み合わせて使用すると、この問題が発生します。Content-Range
- 結果のエラーは次のとおりです。
ERR_INCOMPLETE_CHUNKED_ENCODING
- 私は最初にこのフィルターを無効にして、Tomcat
DefaultServlet
に処理させることにしました...問題は解決しました
- プログラマーとして、私はその理由を知らなければなりませんでした。
- 正確な理由はまだわかりませんが、gzip は長さで正確に表現できないためだと思います。
の仕様にContent-Range
も次のように記載されています。
Content-Range エンティティ ヘッダーは、完全なエンティティ ボディのどこに部分ボディを適用するかを指定するために、部分エンティティ ボディとともに送信されます。範囲単位は、セクション 3.12 で定義されています。
コード内では、完全な応答であっても送信されました。
if (ranges.isEmpty() || ranges.get(0) == full) {
// Return full file.
Range r = full;
response.setContentType(contentType);
response.setHeader("Content-Range", "bytes " + r.start + "-" + r.end + "/" + r.total);
if (content) {
// .....
その行を削除すると、すべてが再び機能し始めました! 誰かがこれに参加して、おそらくより良い説明をしてくれることを本当に望んでいます.
chrome://net-internals/
失敗したファイルの出力は次のとおりです。
t= 3740 [st= 38] -HTTP_STREAM_REQUEST
t= 3740 [st= 38] +HTTP_TRANSACTION_SEND_REQUEST [dt=0]
t= 3740 [st= 38] HTTP_TRANSACTION_SEND_REQUEST_HEADERS
--> GET /Core/resources/scripts/scriptaculous/dragdrop.js?t=1461139610 HTTP/1.1
ホスト: ローカルホスト:8080
接続: キープアライブ
プラグマ: no-cache
キャッシュ制御: キャッシュなし
承認: */*
ユーザーエージェント: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/49.0.2623.112 Safari/537.36
DNT: 1
リファラー: http://localhost:8080/Core/Dashboard?componentID=VCmq3c
Accept-Encoding: gzip、deflate、sdch
Accept-Language: en-US,en;q=0.8,af;q=0.6
Cookie: [306 バイトが取り除かれました]
t= 3740 [st= 38] -HTTP_TRANSACTION_SEND_REQUEST
t= 3740 [st= 38] +HTTP_TRANSACTION_READ_HEADERS [dt=4]
t= 3740 [st= 38] HTTP_STREAM_PARSER_READ_HEADERS [dt=4]
t= 3744 [st= 42] HTTP_TRANSACTION_READ_RESPONSE_HEADERS
--> HTTP/1.1 200 OK
サーバー: Apache-コヨーテ/1.1
Content-Disposition: inline;filename="dragdrop.js"
Accept-Ranges: バイト
ETag: dragdrop.js_19250_1461136271305
最終更新日: 2016 年 4 月 20 日 (水) 07:11:11 GMT
有効期限: 2016 年 4 月 27 日 (水) 08:06:51 GMT
コンテンツ範囲: バイト 0 ~ 19249/19250
コンテンツ タイプ: アプリケーション/JavaScript
Transfer-Encoding: チャンク
Vary: Accept-Encoding
日付: 2016 年 4 月 20 日 (水) 08:06:50 GMT
t= 3744 [st= 42] -HTTP_TRANSACTION_READ_HEADERS
t= 3744 [st= 42] HTTP_CACHE_WRITE_INFO [dt=56]
t= 3800 [st= 98] HTTP_CACHE_WRITE_DATA [dt=0]
t= 3800 [st= 98] HTTP_CACHE_WRITE_INFO [dt=1]
t= 3801 [st= 99] URL_REQUEST_DELEGATE [dt=0]
t= 3801 [st= 99] -URL_REQUEST_START_JOB
t= 3801 [st= 99] URL_REQUEST_DELEGATE [dt=0]
t= 3801 [st= 99] HTTP_TRANSACTION_READ_BODY [dt=0]
t= 3801 [st= 99] HTTP_CACHE_WRITE_DATA [dt=1]
t= 3802 [st= 100] URL_REQUEST_JOB_BYTES_READ
--> バイト数 = 3683
t= 3802 [st= 100] HTTP_TRANSACTION_READ_BODY [dt=0]
t= 3802 [st= 100] HTTP_CACHE_WRITE_DATA [dt=0]
t= 3802 [st= 100] URL_REQUEST_JOB_BYTES_READ
--> バイト数 = 13982
t= 3802 [st= 100] HTTP_TRANSACTION_READ_BODY [dt=20365]
--> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)
t=24167 [st=20465] 失敗
--> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)
t=24168 [st=20466] -REQUEST_ALIVE
--> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)
そして最後に、ここに私を本当に助けてくれたリンクがいくつかあります.春は昨年同じ問題を抱えていたようです.
何年も正常に実行された後、これがランダムに開始された理由をまだ理解できず、ご意見をいただければ幸いです。