Node.jsの標準http
モジュールの上にWebサーバーがあります。あらゆる種類のHTML、JavaScript、CSS、およびアセットコンテンツに対応するために私の時計のように機能していました。私のウェブページの大部分を自然に占めています。iOSのSafariは `application/octet-stream`コンテンツのダウンロードを拒否していますか?
拡張子が不明なファイル(MIMEスニッフィングが実行されていない)にマッピングされたURLをサービスに要求すると、チャンクされた転送エンコーディングのヘッダーがContent-Type: application/octet-stream
であるコンテンツを提供するだけでなく、 - ときどきサーバ上のすべての種類のファイルをホストし、ユーザエージェントからの干渉なしにこれらをダウンロードできます。これは、application/octet-stream
の処理から期待しています。
しかし、今日、私はiPhone 4S上のiOS 9.3.5で実行しているのSafariモバイルブラウザにダウンロードしようとした、そしてその事は単なるで私を警告、有効なURLからダウンロードすることを拒否:
ダウンロードに失敗しました。 Safariはこのファイルをダウンロードできません。
これまでのところ、Content-Disposition: attachment
とContent-Disposition: attachment; filename="foobar"
を追加しようとしましたが、まだ拒否しています。
これは、random
という名前のファイルで、1000個のランダムなバイトで満たされています。 (上記の言ったように、Content-Disposition
はオプションです)私のホストヘッダーは、次のとおりです。(私のWindows 10 x86_64のホスト上のFirefox 53に加えて)予想通り
HTTP/1.1 200 OK
Host: example.com
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="foobar"
Date: Mon, 01 May 2017 13:48:37 GMT
Connection: keep-alive
Transfer-Encoding: chunked
、Androidの6.xの電話はまたからのダウンロード、振る舞いヒッチのないURL。
ここでSafariでは何が起こっていますか?
ありがとう、ちょうど私が知りたいと思っていた。 – amn