アップデート
Ryan Parman (+1) が暗黙のうちに指摘したように、圧縮 (および/または最適化) に関しては、2 つの異なるレイヤーが関係しており、これまでの議論では少し混ざっているように見えます。
以下の私の最初の回答は、質問のタイトルに従ってCloudfront を使用したロスレス圧縮に対処したもので、 HTTP 圧縮レイヤーに関係しています。
HTTP 圧縮は、Web サーバーとWeb クライアントに組み込むことができる機能であり、利用可能な帯域幅をより有効に活用し、両方の間の伝送速度を向上させます。
[...] データはサーバーから送信される前に圧縮されます。準拠ブラウザは、正しい形式をダウンロードする前に、サポートされているメソッドをサーバーに通知します。準拠した圧縮方法をサポートしていないブラウザは、圧縮されていないデータをダウンロードします。[...]
つまり、圧縮/解凍操作は通常、サーバーとクライアントによって自動的に処理され、帯域幅の使用と転送パフォーマンスが最適化されます。CloudFront との違いは、サーバーの実装がほとんどの Web サーバーのように圧縮を自動的に処理しないことです。必要に応じて、圧縮された表現を自分で準備する必要があります。
- この種の圧縮は、HTML、CSS、JavaScript などのテキスト ファイルで最も効果的ですが、ZIP やその他の事前にパックされたアーカイブや esp. PNG や JPEG などの画像形式。
さて、あなたの質問の本文は、異なる圧縮/最適化レイヤー、つまり、損失のあるJPEG_compressionと具体的にはLossless_editingとjpegoptimによる最適化についてまとめて話しています.ファイル自体は、Web やモバイル ブラウジングなどの特定のユース ケースでのパフォーマンスの制約によりよく適合します。たとえば、デジタル写真を元のサイズで送信しても、Web ページで単に表示するだけの場合は意味がありません。
最初の回答
AWS CloudFrontは圧縮ファイルを提供することができますが、これは文字通り解釈されます。
Amazon CloudFront は、オリジンサーバーから圧縮ファイルと非圧縮ファイルの両方を提供できます。CloudFront は、オリジンサーバーに依存して、ファイルを圧縮するか、ファイルの圧縮および非圧縮バージョンを利用できるようにします。CloudFront はオリジンサーバーに代わって圧縮を実行しません。いくつかの資格があれば、CloudFront は Amazon S3 から圧縮されたコンテンツを提供することもできます。詳細については、「圧縮するファイルの種類を選択する」を参照してください。[鉱山を強調]
つまり、圧縮バージョンを自分で提供する必要がありますが、これを設定すると、これはクライアントに対して透過的になります。コンテンツは gzip を使用して圧縮する必要があることに注意してください。他の圧縮アルゴリズムはサポートされていません:
[...] リクエスト ヘッダーに deflate や sdch などの追加のコンテンツ エンコーディングが含まれている場合、CloudFront はリクエストをオリジン サーバーに転送する前にそれらを削除します。Accept-Encoding フィールドに gzip がない場合、CloudFront は圧縮されていないバージョンのファイルのみを提供します。[...]
要件とプロセスに関する詳細は、CloudFront がカスタムオリジンから圧縮コンテンツを提供する方法とAmazon S3 から圧縮ファイルを提供する で概説されています。