私は自分のサイトの読み込みを速くする方法を探していましたが、探求したい1つの方法はCloudfrontをより活用することです。
CloudfrontはもともとカスタムオリジンCDNとして設計されておらず、gzip圧縮をサポートしていなかったため、これまでのところ、私のサイトコードでCloudfront cnameによって参照され、farで最適化されたすべての画像をホストしています。 -futuresヘッダー。
一方、CSSとjavascriptファイルは自分のサーバーでホストされています。これまで、Cloudfrontからgzipで提供することはできず、gzipによる利益(約75%)がそれよりも大きいという印象がありました。 CDN(約50%)の使用から:Amazon S3(およびCloudfront)は、gzip圧縮のサポートを示すためにブラウザーから送信されるHTTP Accept-Encodingヘッダーを使用して、標準的な方法でgzip圧縮されたコンテンツの提供をサポートしませんでした。そのため、Gzipを実行してコンポーネントをその場で提供することができませんでした。
したがって、私は今まで、2つの選択肢から選択する必要があるという印象を受けていました。
すべてのアセットをAmazon CloudFrontに移動し、GZippingを忘れます。
コンポーネントを自己ホストし、受信リクエストを検出し、必要に応じてオンザフライのGZippingを実行するようにサーバーを構成します。これは、これまでのところ私が選択した方法です。
この問題を解決するための回避策はありましたが、基本的にこれらは機能しませんでした。[ リンク ]。
現在、Amazon Cloudfrontはカスタムオリジンをサポートしているようです。カスタムオリジン [ リンク ] を使用している場合、gzip圧縮されたコンテンツを提供するために標準のHTTP Accept-Encodingメソッドを使用できるようになりました。
今のところ、サーバーに新機能を実装することはできません。上記にリンクしたブログ投稿は、変更の詳細を確認した唯一の記事ですが、カスタムオリジンを選択した場合、gzip圧縮(バーの回避策、私は使用しない)のみを有効にできることを意味しているようです。どちらかといえば、Cloudfrontサーバーで対応するフィールドをホストし、そこからリンクする方が簡単だと思います。ドキュメントを注意深く読んだにもかかわらず、私は知りません:
新しい機能が、ファイルがカスタムオリジンを介して自分のドメインサーバーでホストされる必要があることを意味するかどうか。
cssおよびjavascriptヘッダーを構成して、Cloudfrontからgzipで提供されるようにする方法。