Chromeデベロッパーウィンドウでのリクエストの「保留中」とはどういう意味ですか?


104

Google Chromeデベロッパーウィンドウの[ ネットワーク ]タブのステータス列にある「保留中」とはどういう意味ですか?

これは、私のページスクリプトがGETリクエストを発行したときに発生します。このリクエストの応答には、CSVファイルをダウンロードするためのコンテンツヘッダーが含まれています。

Content-type: text/csv;
Content-Disposition: attachment; filename=myfile.csv

これはFFとIE7で正常に機能し、CSVファイルを期待どおりにダウンロードし、ファイルピッカーを開いてファイルを保存しますが、Chromeは何もしません。サーバーがリクエストに応答することを確認したので、Chromeが応答を処理していないようです。

奇妙なことに、ChromeのアドレスバーにURLを入力してを押すと、すべて期待どおりに機能します。

参考:Win-XP上のChrome 10.0.648.204


JavaScriptファイルにも同様の問題があります。jQueryライブラリが正しく読み込まれず、問題が発生しています。
ジャック・M。

拡張機能がこの問題を引き起こしている可能性があることを忘れないでください-サードパーティのアフィリエイト追跡ピクセルを含めることにそのような問題があり、リクエストは永久に「保留中」のままでした。私は広告ブロックをオフにすることを忘れていたことが判明しました!
アンディ・スミス

13
この質問(最初の文)はまだ回答されていないことに注意してください。以下の(今日の時点での)すべての回答は、単に「これが原因でした」です。メッセージは非常に一般的であり、多数の問題が原因である可能性があります。彼らが何であるかを正確に知っていれば答えますが、一般的には、何らかの理由でページとサーバーの間のどこかで通信が妨げられていることを意味しているようです。「ページ」とはブラウザを意味するのではなく、他の場所で言及されているように、ブラウザ拡張機能がこれを引き起こす可能性があります。
AlexMA 2013年

1
これは、現在のGoogle Chrome Canaryリリース(v43)では表示されますが、cloudfrontからのURLを含む安定したChromeリリース(v40)では表示されません
Simon_Weaver

回答:


61

私の場合は、髪を引っ張った後、「保留中」のステータスはAdBlock拡張機能が原因であることがわかりました。読み込めなかった画像のURLには「ad」という単語が含まれていたため、AdBlockは画像を読み込めませんでした。

AdBlockを無効にすると、この問題が修正されます。

URLに「ad」が含まれないようにファイルの名前を変更すると、ファイルも修正され、明らかに優れたソリューションです。それが広告である場合を除き、その場合はそのままにしておく必要があります。:)


1
TamperMonkey拡張機能がインストールされているChromeでも同じことを確認しました。
sstn

1
@Robin Daugherty、adblock拡張はサーバー側またはクライアント側にありますか?クライアント側には何もありません。保留中のステータスは1.8分から2.2分で終了します...何が問題なのでしょうか?貧しいネットワーク?
ファンルイスデカスティーリャ

1
ファイルの読み込みをブロックするその他の拡張子である可能性があります。すべての拡張機能が無効になっているシークレットウィンドウを使用してみてください。(一部の拡張機能はシークレットモードで有効になっている可能性があるため、確認する必要があります。)
Robin Daugherty

私の開発環境(AngularとVisual Studio)が非常に遅い理由を理解しようとして、髪を引っ張っていました。uBlockを無効にするとうまくいきました。ありがとう!
XVargas

2
鉱山はAdBlockerをサポートしないIEで発生します... :(これは私にとって断続的な問題です
Json

5

HTTPS everywhereプラグインを使用しているときにもこれが表示されます。このプラグインには、httpの代わりにhttpsもあるサイトのリストがあります。そのため、実際のリクエストが行われる前に、なんらかの理由でキャンセルされていると想定しています。

したがって、たとえばhttp://stackexchange.comにアクセスすると、開発者では最初にステータス(終了済み)のリクエストが表示されます。このリクエストにはいくつかのヘッダーがありますが、GET、User-Agent、およびAcceptのみです。応答もありません。

次に、完全なヘッダーなどを含むhttps://stackexchange.comへのリクエストがあります

したがって、送信されないリクエストに使用されると思います。


5

mp3ファイルの保留中のリクエストで問題が発生しました。私はmp3ファイルのリストとそれらを再生する1人のプレーヤーを持っていました。ダウンロード済みのファイルを選択した場合、Chromeはリクエストをブロックし、開発者ツールのネットワークタブに「保留中のリクエスト」を表示します。

Chromeのすべてのバージョンが影響を受けるようです。

これが私が見つけた解決策です:

player[0].setAttribute('src','video.webm?dummy=' + Date.now());

各URLの末尾にダミーのクエリ文字列を追加するだけです。これにより、Chromeはファイルを再度ダウンロードします。

ポップコーンプレーヤーの別の例(jqueryを使用):

url = $(this).find('.url_song').attr('url');
pop = Popcorn.smart( "#player_",  url + '?i=' + Date.now());

これでうまくいきます。実際、リソースはキャッシュシステムに保存されません。これは.csvファイルでも同じように機能します。


2

OSX Mavericksでも同じ問題が発生しました。アンインストールすると、ソフォスのウイルス対策ソフトウェアが特定のリクエストをブロックしていることがわかりました。問題は解消しました。

拡張機能が原因であると思われる場合、これを試す簡単な方法の1つは、'--disable-extensionsフラグを付けてchromeを開き、問題が解決するかどうかを確認することです。それでも問題が解決しない場合は、ブラウザを超えて、他のアプリケーション、特にリクエストに影響を与える可能性のあるセキュリティアプリが問題を引き起こしていないかどうかを確認することを検討してください。


2

時間通りのネットワーク保留状態は、リクエストが進行中の状態であることを意味します。応答するとすぐに、合計経過時間で時刻が更新されます。

この画像は、ネットワークコールが処理状態(保留中)であることを示しています この画像は、ネットワークコールが処理状態(保留中)であることを示しています

この図は、ネットワーク呼び出しによる処理にかかる時間を示しています。 この画像は、ネットワーク呼び出しによる処理にかかる時間を示しています


1
私は現在、誤って報告された経過時間を調べています。実際には4秒間保留状態のままですが、150ミリ秒と報告されます。そして、それは、サーバーがそれらの要求レポートを処理する相対的に長い時間です(つまり150ミリ秒)。それは人工的に何かが解決からの要求を保留しているようなものです...
ニコライTsenkov

1

application / json ajax呼び出しでも同様の問題がありました。ff / IEで彼らは大丈夫だった。別のステータスコードが返されていたため、Developer NetworkウィンドウのChromeでは、ステータスは常に(保留中)でした。

私の場合、Json応答を200のHttpStatusCodeを送信するように変更すると、Chromeは問題なく、ステータステキストは200 OKに変更されました。

たとえば、ASP.NET Web APIを使用する

 return new HttpResponseMessage(HttpStatusCode.OK ) {
            Content = request.Content
        };

どのように、どこで変更するのHttpStatusCodeか、簡単な例を挙げられますか?
Aras

1

Chromeでも同じ問題:HTMLページに次のコードがありました。

<body>
  ...
  <script src="http://myserver/lib/load.js"></script>
  ...
</body>

しかし、ネットワークパネルを見ると、load.js常にこの状態pendingでした。

非同期ロードを使用した回避策を見つけましたload.js

<body>
  ...
  <script>
    setTimeout(function(){
      var head, script;
      head = document.getElementsByTagName("head")[0];
      script = document.createElement("script");
      script.src = "http://myserver/lib/load.js";
      head.appendChild(script);
    }, 1);
  </script>
  ...
</body>

これで問題なく動作しました。


0

ローカルWebアプリケーションをデバッグしているときにこの問題に遭遇しました。この問題は、AVGウイルス対策とファイアウォールの制限であることが判明しました。「保留」ステータスを取り除くために、ファイアウォールを通過する例外を許可する必要がありました。


0

私にとっての修正は、要求されたphpファイルの先頭に以下を追加することでした。

header("Cache-Control: no-cache,no-store");


-3

ページから特定の画像をリクエストすると、同じ問題が発生しました。JavaScriptを使用してimgオブジェクトのsrc属性を設定します。ネットワークが貧弱な場合は、Chrome開発者ウィンドウのネットワークパネルに保留が表示されます。それは貧弱なネットワークによるものだと思います。


4
同じ問題がありますが、画像は常にIEまたはFFで正しく表示されるため、ネットワークではありません。また、断続的です。新しい洞察があれば不思議に思う
Lior

ここで同じ問題。FFでは、これらの画像は適切に読み込まれます。
svassr 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.