gzip形式で保存されたhtmlファイルがあります。ブラウザーには html ファイルが表示されますが、javascript と CSS は表示されません。同じディレクトリにある圧縮されていない html ファイルは正しく表示されます。さらに、圧縮された html ファイルからソースを保存したところ、JS と CSS が適用された状態で正しく再オープンされました。
JS と CSS を取得できない圧縮された html を表示することの違いは何ですか?
gzip形式で保存されたhtmlファイルがあります。ブラウザーには html ファイルが表示されますが、javascript と CSS は表示されません。同じディレクトリにある圧縮されていない html ファイルは正しく表示されます。さらに、圧縮された html ファイルからソースを保存したところ、JS と CSS が適用された状態で正しく再オープンされました。
JS と CSS を取得できない圧縮された html を表示することの違いは何ですか?
基本的な問題は、ブラウザーが CSS を想定している場所で gzip ファイルを提供できないことです。それ自体では、JPEG やハム サンドイッチを返す場合と同様に機能しません。
コンテンツがオンザフライで圧縮されると、応答は多少異なります。応答は、「私は text/css ですが、たまたま転送用に gzip でエンコードされています」と表示されます。ブラウザはそれを理解できます。
Apache などの一部の Web サーバーは、ローカルで gzip 圧縮されたファイルを提供すると、そのようなことを行います。しかし、あなたのサーバーはそうではないと思います。
HTMLで機能するのはなぜですか?うーん、わかりませんが、おそらくあなたのブラウザは実際にその特定のケースでそれを理解することができますか?
最終的にやりたいことは、応答を Content-Type: text/css および Content-Encoding: gzip で提供して、正しく認識させることです。