web-dev-qa-db-ja.com

ブラウザが通常のページを表示する代わりに、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の使用はオプションではありません。

27
Sod Almighty

WebサイトやWebサーバーがWebページを配信する方法に問題があります。

これはあなた側の問題ではなく、サーバー側の奇妙な問題です。 Webサイト自体またはサーバーがWebコンテンツを配信します。

text/htmlを示すヘッダーを含むコンテンツを配信する代わりに、コンテンツをapplication/octet-streamとして配信します。これは、Webブラウザーがバイナリデータであると解釈し、ファイルのダウンロードとして処理する必要があります。このCurlコマンドの出力を見てください。

curl -ILk http://clhs.LISP.se/Body/m_w_open.htm
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Accept-Ranges: bytes
Content-Length: 8896
Date: Sat, 21 Sep 2019 18:41:10 GMT
Server: lighttpd/1.4.45

特定のプラグイン(Firefoxの場合、またはChromeなど)がない限り、クライアント側で修正できないと確信しています。特定のヘッダーを強制的に実行できます。このようなリクエスト。

とはいえ、そのサイトのコアコンテンツは、インターネット上の他の場所で、正しく構成され、期待どおりに機能しているサイトで利用できます。

それ以降、そのサイト自体の問題をデバッグするのではなく、単にそのサイトのコンテンツを読みたい場合は、次のように他のサイトで同じコンテンツにアクセスできます dave_thompson_085の質問へのコメント

そして、デイブのコメントによると、その2番目のMIT=リンクは信頼できるはずです。「私見の家は適切です。彼がそこで働いていたときにケントを知っていました。」

52
JakeGould

このおもしろいウェブサイトは、あなたのページに次のヘッダーを持つ答えを返します:

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は現在両方を廃止しています。

10
harrymc

ModHeader を試すことができます。インストール後、サイトのルートにアクセスし、拡張アイコンをクリックしてから、プラス記号、応答ヘッダー、およびContent-Typeと入力します。そのサイトを閲覧してください。

拡張機能内でプロファイルを使用して、必要な場合にのみ切り替えることができます。ルールなしでプロファイルを作成すると、アイコンは非アクティブとして表示され、それがインターネットの残りのプロファイルになります。

私はそれをテストし、それは機能しますが、注意してください、私が見ることができるソースコードはなく、ヘッダーを変更するには、すべてのページに対する完全な権限が必要です。必要に応じて、Firefoxアドオンマネージャーから有効/無効にすることもできます。詳細情報 ここで見つけることができます

8