1. ホーム
  2. javascript

[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される

2022-02-02 05:11:15

質問

Chrome 12.0.742.112で、以下のヘッダでリダイレクトした場合。

HTTP/1.1 302 Found 
Location: http://0.0.0.0:3000/files/download.zip
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Ua-Compatible: IE=Edge
X-Runtime: 0.157964
Content-Length: 0
Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Date: Tue, 05 Jul 2011 18:42:25 GMT
Connection: Keep-Alive

これに続くと、次のようなヘッダが返されます。

HTTP/1.1 200 OK 
Last-Modified: Tue, 05 Jul 2011 18:18:30 GMT
Content-Type: application/zip
Content-Length: 150014
Server: WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Date: Tue, 05 Jul 2011 18:44:47 GMT
Connection: Keep-Alive

Chromeはリダイレクトもせず、前のページも変更せず、コンソールに以下の警告を報告するだけです。

<ブロッククオート

リソースはドキュメントと解釈されますが、MIMEタイプはapplication/zipで転送されます。

この処理はFirefoxで正しく動作し、Chromeでも新しいタブを開いて直接 http://0.0.0.0:3000/files/download.zip . それともChromeのバグ/不具合なのでしょうか?

解決方法を教えてください。

新しいタブを開くだけで、直りました。

なぜうまくいかなかったのか、完全にはわかりませんが、Chromeが1つのページで複数のダウンロードを処理する方法と関係があるのかもしれません。おそらく、スパムだと判断して無視したのでしょう。