1. ホーム
  2. ajax

[解決済み] HTTPリクエストがステータスコード0を返すのはどういう意味ですか?

2022-04-25 08:26:20

質問

fetch や XMLHttpRequest などの JavaScript ネットワークコールや HTTP ネットワークリクエストが HTTP ステータスコード 0 で失敗するのはどういう意味ですか?

HTTPの仕様では、他のコードは3桁なので、これは有効なHTTPステータスコードではないようです。

試しにネットワークのプラグを完全に抜いてみました。無関係かもしれませんが、その結果、ステータスコード17003(IRC)が表示され、ざっと検索したところ、"DNSサーバ検索に失敗"を意味するようです。

同じコードが、ある場所やシステムからは正常に動作しますが、ある環境ではステータスコード0で失敗し、responseTextも提供されません。

これはインターネットのURLへの典型的なHTTP POSTです。これは、Firefox で成功を示す 0 を返す可能性があると私が理解している file:// を伴いません。

解決するには?

エラーコードは、レスポンスが空だった(ヘッダすら返されなかった)ことを示していると思います。これは、接続が受け入れられ、その後、優雅に閉じられた(TCP FIN)ことを意味します。 これを引き起こす可能性のあるものはいくつかありますが、あなたの説明からすると、ある種のファイアウォールが最も可能性の高い犯人だと思われます。