Interaksi AWS Elemental MediaStore dengan cache HTTP - AWSElemental MediaStore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Interaksi AWS Elemental MediaStore dengan cache HTTP

AWS Elemental MediaStore menyimpan objek sehingga objek dapat di-cache dengan benar dan efisien oleh jaringan pengiriman konten (CDN) seperti Amazon CloudFront. Ketika pengguna akhir atau CDN mengambil objek dari MediaStore, layanan mengembalikan header HTTP yang mempengaruhi perilaku caching objek. (Standar untuk HTTP 1.1 perilaku caching ditemukan di RFC2616 bagian 13.) Header ini adalah:

  • ETag(tidak dapat disesuaikan) - Header tag entitas adalah pengenal unik untuk respons yang MediaStore dikirim. CDN dan browser web yang sesuai standar menggunakan tag ini sebagai kunci untuk menyimpan objek. MediaStore secara otomatis menghasilkanETag untuk setiap objek ketika di-upload. Anda dapat melihat detail objek untuk menentukan nilai ETag.

  • Last-Modified(tidak dapat disesuaikan) - Nilai header ini menunjukkan tanggal dan waktu objek dimodifikasi. MediaStore secara otomatis menghasilkan nilai ini ketika objek diunggah.

  • Cache-Control(dapat disesuaikan) - Nilai header ini mengontrol berapa lama objek harus di-cache sebelum CDN memeriksa untuk melihat apakah telah dimodifikasi. Anda dapat mengatur header ini ke nilai apa pun saat Anda mengunggah objek ke MediaStore wadah menggunakan CLI atau API. Kumpulan lengkap nilai valid dijelaskan dalam dokumentasi HTTP/1.1. Jika Anda tidak menetapkan nilai ini ketika Anda meng-upload objek, MediaStore tidak akan kembali header ini ketika objek diambil.

    Kasus penggunaan umum untuk header Cache-Control adalah menentukan durasi untuk cache objek. Misalnya, Anda memiliki file manifes video yang sedang sering ditimpa oleh encoder. Anda dapat mengaturmax-age ke 10 untuk menunjukkan bahwa objek harus di-cache hanya selama 10 detik. Atau anggaplah Anda memiliki segmen video tersimpan yang tidak akan pernah ditimpa. Anda dapat mengaturmax-age untuk objek ini ke 31536000 ke cache selama kurang lebih 1 tahun.

Permintaan bersyarat

Permintaan bersyarat untuk MediaStore

MediaStore merespons identik permintaan bersyarat (menggunakan header permintaan sepertiIf-Modified-Since danIf-None-Match, seperti yang dijelaskan dalam RFC7232) dan permintaan tanpa syarat. Ini berarti bahwa ketika MediaStore menerimaGetObject permintaan yang valid, layanan selalu mengembalikan objek bahkan jika klien sudah memiliki objek.

Permintaan bersyarat ke CDN

CDN yang melayani konten atas nama MediaStore dapat memproses permintaan bersyarat dengan mengembalikan304 Not Modified, seperti yang dijelaskan dalam RFC7232 bagian 4.1. Hal ini menunjukkan bahwa tidak perlu mentransfer isi objek lengkap, karena pemohon sudah memiliki objek yang cocok dengan permintaan kondisional.

CDN (dan cache lain yang sesuai dengan HTTP/1.1) mendasarkan keputusan ini padaETag danCache-Control header yang diteruskan oleh server asal. Untuk mengontrol seberapa sering CDN meminta server MediaStore asal untuk pembaruan ke objek yang diambil berulang kali, aturCache-Control header untuk objek tersebut saat Anda mengunggahnya MediaStore.