サイトの読み込み速度を向上させたいので、http://gtmetrix.com/を使用して、改善できる点を確認しています。"Leverage browser caching" に対して私が得た最低の評価の 1 つです。私のファイル(主に画像)に「有効期限が指定されていません」という問題があることがわかりました。
さて、問題は明らかだ、と私は思った。グーグル検索を開始すると、Amazon S3 が有効期限よりも Cache-Control メタデータを好むことがわかりました (このリンクを紛失しました。おそらく何かを誤解していると思います)。とにかく、キャッシュ制御メタを S3 オブジェクトに追加する方法を探し始めました。このページを見つけました: http://www.bucketexplorer.com/documentation/amazon-s3--how-to-set-cache-control-header-for-s3-object.html
PUT クエリに文字列を追加する必要があることを学びました。
x-amz-meta-Cache-Control : max-age= <value in seconds>
//(等号と数字の間にスペースは必要ありません (ここで間違いを犯しました))。
私は建設を使用しています:Cache-control:max-age=1296000
そしてそれはうまくいきます。
その後、 https ://developers.google.com/speed/docs/best-practices/caching を読みました。この記事では、次のように説明されています。 ."
2) 「より広くサポートされているため、Cache-Control: max-age よりも Expires を優先します。」(推奨トピック内)。
そこで、S3 オブジェクトに有効期限を設定する方法を探し始めました。私はこれを見つけました: http://www.bucketexplorer.com/documentation/amazon-s3--set-object-expiration-on-amazon-s3-objects-put-get-delete-bucket-lifecycle.html
そして、私が見つけたもの: 「Amazon S3 オブジェクトのライフサイクル管理を使用すると、Amazon S3 オブジェクトでオブジェクトの有効期限を定義できます。S3 オブジェクトに定義されたライフサイクルが期限切れになると、Amazon S3 はそのようなオブジェクトを削除します。したがって、データを保持したい場合S3 で期間限定で、Amazon S3 によって自動的に削除されるようにするには、オブジェクトの有効期限を設定できます。」
S3 からファイルを削除したくありません。最大キャッシュ時間または/およびファイル有効期限のためにキャッシュメタを追加したいだけです。
私はこれと完全に混同しました。誰かが私が何を使用しなければならないかを説明できますか: オブジェクトの有効期限またはキャッシュ制御?