質問

パフォーマンス上の理由で、Gziptedファイルとして静的リソース(CSSおよびJavaScript)を提供しようとしています。

レンダリング時にページがGZIPを使用し、Content-EncodingがLiveHttPheadersによるとGZIPに正しく設定され、最も重要なことは、GZIPTコンテンツがGIDZIPTESTページを渡すことです(http://www.gidnetwork.com/tools/gzip-test.php)大丈夫です。テストからの出力の例は次のとおりです。

Webページが圧縮されましたか?はい

圧縮タイプ? gzip

サイズ、マークアップ(バイト)18,286

サイズ圧縮(バイト)4,427

圧縮%75.8

----

ResponseHeaders

ステータスHTTP/1.0 200 OK

Pragma No-Cache Cache-Control Private、Max-Age = 86500

有効期限、2009年8月24日04:34:14 GMT

X-AMZ-ACL Public-Read

コンテンツタイプのテキスト/CSS

content-md5 hqjatbs3ozdfet/qhsd+ qg ==

コンテンツエンコードGZIP

日付水、2009年8月19日04:34:14 GMT

サーバー - 私のサーバー -

コンテンツレングス4427

コンテンツエンコードヘッダーは大胆で、他のすべてのヘッダーは予想通りです。

テストページには、非圧縮ページソースも表示されます。これは、常に圧縮されていないと予想されているとおりです。ブラウザによってレンダリングされるようにコピーして貼り付けてみました。ページがgziptされ、解凍されていることを認識する実際のステップで。

そして、これはブラウザ固有ではありません。 FF、WebKit、およびIEでは、これらのGZIPTファイルが正しく解凍されていません。私は考えられるすべてを試しましたが、本当に困惑しています。

役に立ちましたか?

解決

ファイルをもう一度gzippingしているのは、ほとんどのブラウザと同様に、Accept-EncodingでリストするHTTP 1.1クライアントのみです。 gidziptestはHTTP 1.0リクエストを送信しており、1.0クライアントへのGZIPPIPTIONは、クライアントがサポートするエンコーディングを示すための受け入れエンコードフィールドを持っていないため、2番目のコンプレッサーに意味があるため、クライアントが受け入れエンコードフィールドを持っていないため、リスクが高くなります(1つがある場合は意味があります。 )1.0クライアントにgzipしないでください。その場合、Gidziptestは単一のgzipt応答を取得し、ブラウザはダブルGzip(悪い)応答を取得します。しかし、それは1つの可能性です。まれですが、それは起こります。

そうでない場合は、問題を展示するページにURLのような情報を提供する必要があります。

他のヒント

過去数日間にわたって同様の問題をデバッグしました。私のプロジェクトのすべてのHTML、CSS、およびJSファイルはGZIP'edです。 Firefox 3.5が登場するまで、それは正常に機能しました。 Firefox 3.0およびIE 7+8には問題がありませんでした。ああ、オペラ9+10とクロムもエンコードで窒息しました。

症状はHTMLであり、CSSファイルは正しく認識され、JSファイルのみが問題になっています。 FireBugは私にこのエラーメッセージを与えてくれます:

無効なラベル

コンテンツエンコード:gzip n

私にとっての解決策は、Doctypeを削除することでした。私はゆるくて厳格で、どちらもうまくいきませんでした。しかし、私は適切なDoctypeが何であるかを知りたいです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top