Tôi muốn nâng cao tốc độ tải trang web, vì vậy tôi sử dụng http://gtmetrix.com/ để kiểm tra những gì tôi có thể cải thiện. Một trong những đánh giá thấp nhất tôi nhận được cho "Tận dụng bộ nhớ đệm trình duyệt". Tôi thấy, rằng các tập tin của tôi (chủ yếu là hình ảnh), có vấn đề "hết hạn không được chỉ định".Amazon S3: Cache-Control và Expiry Date khác biệt và thiết lập máng REST API
Được rồi, vấn đề là rõ ràng, tôi nghĩ. Tôi bắt đầu googling và tôi thấy rằng amazon S3 thích Cache-Control meta dữ liệu qua ngày hết hạn (tôi bị mất liên kết này, bây giờ tôi nghĩ rằng có lẽ tôi hiểu lầm một cái gì đó). Dù sao, tôi bắt đầu tìm kiếm làm thế nào để thêm bộ nhớ cache kiểm soát meta để đối tượng S3. Tôi đã tìm thấy trang này: http://www.bucketexplorer.com/documentation/amazon-s3--how-to-set-cache-control-header-for-s3-object.html
Tôi đã học được rằng tôi phải thêm chuỗi vào truy vấn PUT của mình.
x-amz-meta-Cache-Control : max-age= <value in seconds>
// (không cần khoảng trắng giữa dấu và chữ số bằng nhau (tôi đã nhầm lẫn ở đây)).
Tôi sử dụng công trình xây dựng: Cache-control:max-age=1296000
và hoạt động tốt.
Sau đó tôi đọc https://developers.google.com/speed/docs/best-practices/caching Bài viết này cho tôi biết: 1) "Đặt hết hạn tối thiểu một tháng và tốt nhất là tối đa một năm trong tương lai".
2) "Chúng tôi muốn hết hạn hơn Cache-Control: tối đa độ tuổi vì nó được hỗ trợ rộng rãi hơn." (Trong chủ đề Đề xuất).
Vì vậy, tôi bắt đầu tìm cách để đặt ngày hết hạn thành đối tượng S3. Tôi thấy điều này: http://www.bucketexplorer.com/documentation/amazon-s3--set-object-expiration-on-amazon-s3-objects-put-get-delete-bucket-lifecycle.html
Và những gì tôi thấy. "Sử dụng Amazon S3 Object Lifecycle Management, bạn có thể xác định hết hạn Object trên Amazon S3 Objects Khi Vòng đời định nghĩa cho các đối tượng S3 hết hạn, Amazon S3 sẽ xóa như vậy Vì vậy, khi bạn muốn giữ dữ liệu của bạn trên S3 chỉ trong một thời gian giới hạn và bạn muốn nó bị xóa tự động bởi Amazon S3, bạn có thể đặt Object Expiration. "
Tôi không muốn xóa tệp của mình khỏi S3. Tôi chỉ muốn thêm bộ nhớ cache meta cho thời gian bộ nhớ cache tối đa hoặc/và thời gian hết hạn tập tin.
Tôi hoàn toàn nhầm lẫn với điều này. Ai đó có thể giải thích những gì tôi phải sử dụng: đối tượng hết hạn hoặc kiểm soát bộ nhớ cache?