2013-05-22 12 views
31

もっと速くアクセスしてダウンロードできるようにウェブページにgZipを使用し、帯域幅を節約することをたくさん聞いたことがあります。gZip圧縮とは何ですか?

このgZip圧縮は何ですか、そしてそれがダウンロードをより高速にする方法はありますか?それは、HTMLと画像またはHTMLだけを圧縮しますか?

webappsでgZipを使用する場合はどうすればいいですかの考慮事項どうすればいいですか? サーバーまたはブラウザ制限があるか、特定のエンコーディングのみをサポートしていますか。

+0

ここで十分な知識を持ってください。 http://en.wikipedia.org/wiki/Gzip – Nitesh

答えて

1

GZipブラウザに要求を処理している間に、html、js、cssファイルなどのファイルを圧縮します。ファイルのサイズが縮小されるにつれて、それはより速い方法でユーザに提供される。すべてのブラウザが圧縮をサポートしているわけではありませんが、現代のブラウザをすべてサポートしています。それは強く推奨されますが、それはサーバーのCPU使用率を増加させることがありますが、これはいつか気になるかもしれません。 Gzipをクライアント側のキャッシュで使用すると、パフォーマンスが向上します。

+0

非常に短いテキスト情報を提供している場合は、ユーザーが質問したところのすぐ下のコメントエリアに追加することができます。包括性のある説明的な詳細とここでは、この質問について知り合っているユーザーだけでなく、ユーザーを助けることができる説明的な例を示します。 Thnx。 - @Devesh – Nitesh

+0

@NathanLee私は同意する、あなたのポイントを取った。ありがとうございます – Devesh

30

GZipはデータ圧縮の一種です。つまり、データの塊を取り、それを小さくします。元のデータは、圧縮ファイルを解凍することによって復元できます。

HTTPプロトコルには、送信されているデータをgzipする機能が含まれているため、WebアプリケーションやWebサイトに関係します。

これは、サイトを訪れる人が小さいファイルをダウンロードするため、使用中にサイトにアクセスするための帯域幅コストが低くなることを意味します。

GZipの使用にはいくつかの注意点がありますが、一般的には、gzipを使用する方が一般的ではありません。たとえば、ファイルを解凍して解凍するには時間と処理能力が必要ですが、通常は問題ありませんそれを行うのにかかる時間は、しばしば、より小さなファイルをダウンロードすることによって保存される時間よりも短いからです。したがって、ブラウザがファイルを解凍する必要があるにもかかわらず、全体の効果は時間の節約になります。

GZipはすべてのファイルを圧縮できます。ファイルの種類やエンコーディングに違いはありません。明らかに、一部のファイルは他のファイルよりも効果的に圧縮できるため、帯域幅の節約はさまざまです.HTMLのようなテキストファイルは最良の結果をもたらします。画像はgzipであまり圧縮されていません。なぜなら、すでに圧縮が組み込まれているからです。いくつかのファイル(例えば、.zipファイルのように既に大きく圧縮されているファイル)は、実際に圧縮することはできませんが、gzipはメタデータをファイルに追加する必要があるため、しかし、これらは端の場合であり、大きな違いはありません。

HTTP経由のGZipは、通常、完全に透過的に行われます。エンドユーザは、それが起こっていることを完全に意識してはいけません。ブラウザはそれらのために舞台裏でそれを行うでしょう。また、Webサーバー側からは、Webサーバーソフトウェアの設定を有効にするだけです。あなたの視点から、それはあなたが知る必要があることです。サーバーのgzip設定を設定するだけです(またはISPに依頼してください)。あなたが知らなくてもあなたのサイトで既にアクティブになっている可能性は非常に高いです。

+2

ブラウザに依存していますか? – Ric

+4

@Ric - いいえ、すべてのブラウザがサポートしています。そして、それをサポートしていないブラウザでさえ、彼らはまだ動作するはずです - それはクライアントがどんな種類の圧縮をサポートするかを指定するHTTP 1.1仕様の一部であり、サーバはそれに応じて応答します(つまりブラウザが "私は思い出したように、gzipを破るIE6の初期のバグにはバグがありましたが、Webサーバーはそのための回避策を実装していました。IE6自体はWinXPで修正されましたSP2では、まだ壊れたバージョンを使用している人はほとんどいません。 – Spudley

+2

はい、しかしa)すべての一般的なブラウザとサーバーがそれをサポートしています。b)各トランザクションでブラウザとサーバーの間で圧縮が行われるため、一般的でないクライアントによるサポートの欠如は自動的に処理されます。 –