jQueryの製品版をダウンロードすると、リンクの横にファイルが32K最小化およびGzip圧縮されていることが示されます。ミニファイされますが、Gzipで圧縮されたとはどういう意味ですか?
Apache deflateのようなWebサーバーによってGzip圧縮されていますか?
更新:このWebサイトを見つけて、どのリソースがgzipで圧縮されているかを確認しますhttp://gzipwtf.com/
jQueryの製品版をダウンロードすると、リンクの横にファイルが32K最小化およびGzip圧縮されていることが示されます。ミニファイされますが、Gzipで圧縮されたとはどういう意味ですか?
Apache deflateのようなWebサーバーによってGzip圧縮されていますか?
更新:このWebサイトを見つけて、どのリソースがgzipで圧縮されているかを確認しますhttp://gzipwtf.com/
ブラウザがHTTPリクエストをWebサーバーに送信するとき、ブラウザはAccept-Encoding
フィールドを指定して、サポートする圧縮スキーマを示すことができます。
GET /scripts/jquery.min.js HTTP/1.1
Host: www.example.com
Accept-Encoding: gzip, deflate
次に、サーバーはこれらのスキーマの1つを選択して(ただし、そうする必要はありません)、応答ヘッダーで指定できます。
HTTP/1.1 200 OK
Content-Encoding: gzip
etc.
したがって、Webサーバーがjavascriptファイルをgzipで圧縮するように構成されていて、ブラウザーがそれをサポートしている場合(大部分はサポートしています)、ファイルは「gzip圧縮」されます。
はい、mod_gzipと呼ばれるApacheモジュールを使用しています。
http://sourceforge.net/projects/mod-gzip/
これは(原則として)mod_deflateと同じように機能します。
そのダウンロードリンクは、Webページでホットリンクできるホストファイルへのリンクです。ファイル自体は縮小されたJavaScriptです。
ブラウザによってホスティングサーバーからファイルが要求されると、コンテンツヘッダーで指定されているように、Gzip圧縮を使用して転送中にさらに圧縮されます。ブラウザがそれを受け取ると、それは膨らみ、ブラウザのキャッシュに保存されます。
縮小されたファイルを自分のサーバーでホストする場合、圧縮を使用するようにサーバーを構成しない限り、説明されているように、転送中に必ずしも圧縮されるとは限りません。