質問: ブラウザが通常のページを表示する代わりに、http://clhs.lisp.seからページをダウンロードしようとするのはなぜですか? この問題は数週間前に始まりました。 http://clhs.lisp.se —たとえば、次のようになります: http://clhs.lisp.se/body/m_w_open.htm —私のブラウザはページを正常に表示しませんが、代わりにページをhtmlファイルとしてダウンロードしようとします。これはchrome、firefox、brave、vivaldi、operaで発生します。 internet explorerまたはedgeでは使用できません。以前はすべてのブラウザで正常に機能していました。なぜそれが起こるのですか、どうすれば正常に機能させることができますか? ieまたはedgeの使用はオプションではありません。
回答: このおもしろいウェブサイトは、あなたのページに次のヘッダーを持つ答えを返します:http/1.1 200 ok content-type: application/octet-stream accept-ranges: bytes content-length: 8896 date: sat, 21 sep 2019 18:44:55 gmt server: lighttpd/1.4.45 ここでの問題は content-type フィールドです。 アプリケーション その他の種類のデータ。通常、解釈されていないバイナリデータまたはメールベースのアプリケーションで処理される情報。プライマリサブタイプ「オクテットストリーム」は、解釈されていないバイナリデータの場合に使用されます。この場合、最も簡単な推奨アクションは、ユーザーに情報をファイルに書き込むことです。 バイナリファイルはブラウザで表示できません。 「application/octet-stream」のcontent-type値は、返答をバイナリファイルとして定義するため、標準に準拠するブラウザには、ファイルをダウンロードする以外に可能なアクションはありません。ieとedgeは、標準に準拠するのがそれほど得意ではなかったため、microsoftは現在両方を廃止しています。