Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konten cache berdasarkan cookie
Secara default, CloudFront tidak mempertimbangkan cookie saat memproses permintaan dan tanggapan, atau saat menyimpan objek Anda di lokasi tepi. Jika CloudFront menerima dua permintaan yang identik kecuali untuk apa yang ada di Cookie
header, maka, secara default, CloudFront memperlakukan permintaan sebagai identik dan mengembalikan objek yang sama untuk kedua permintaan.
Anda dapat mengonfigurasi CloudFront untuk meneruskan ke asal Anda beberapa atau semua cookie dalam permintaan penampil, dan untuk menyimpan versi terpisah dari objek Anda berdasarkan nilai cookie yang diteruskannya. Saat Anda melakukan ini, CloudFront gunakan beberapa atau semua cookie dalam permintaan penampil — mana pun yang dikonfigurasi untuk diteruskan—untuk mengidentifikasi objek dalam cache secara unik.
Sebagai contoh, anggaplah bahwa permintaan untuk locations.html
berisi sebuah cookie country
yang memiliki nilai uk
atau fr
. Saat Anda mengonfigurasi CloudFront untuk menyimpan objek Anda berdasarkan nilai country
cookie, CloudFront teruskan permintaan locations.html
ke asal dan sertakan country
cookie dan nilainya. Asal Anda kembalilocations.html
, dan CloudFront menyimpan objek satu kali untuk permintaan di mana nilai country
cookie berada uk
dan sekali untuk permintaan di mana nilainya. fr
penting
Amazon S3 dan beberapa HTTP server tidak memproses cookie. Jangan mengkonfigurasi CloudFront untuk meneruskan cookie ke asal yang tidak memproses cookie atau tidak mengubah responsnya berdasarkan cookie. Itu dapat menyebabkan CloudFront untuk meneruskan lebih banyak permintaan ke asal untuk objek yang sama, yang memperlambat kinerja dan meningkatkan beban pada asal. Jika, mengingat contoh sebelumnya, asal Anda tidak memproses country
cookie atau selalu mengembalikan versi yang sama dari locations.html
ke CloudFront terlepas dari nilai country
cookie, jangan konfigurasikan CloudFront untuk meneruskan cookie itu.
Sebaliknya, jika asal kustom Anda bergantung pada cookie tertentu atau mengirimkan tanggapan berbeda berdasarkan cookie, pastikan Anda mengonfigurasi CloudFront untuk meneruskan cookie tersebut ke asal. Jika tidak, CloudFront hapus cookie sebelum meneruskan permintaan ke asal Anda.
Untuk mengonfigurasi penerusan cookie, Anda memperbarui perilaku cache distribusi. Untuk informasi lebih lanjut tentang perilaku cache, lihat Pengaturan perilaku cache, terutama Teruskan cookie dan Daftar cookie yang diizinkan bagian.
Anda dapat mengonfigurasi setiap perilaku cache untuk melakukan salah satu hal berikut:
-
Teruskan semua cookie ke asal Anda — CloudFront termasuk semua cookie yang dikirim oleh pemirsa saat meneruskan permintaan ke asal. Saat asal Anda mengembalikan respons, CloudFront cache respons menggunakan nama dan nilai cookie dalam permintaan penampil. Jika respons asal menyertakan
Set-Cookie
header, CloudFront mengembalikannya ke penampil dengan objek yang diminta. CloudFront juga menyimpanSet-Cookie
header dengan objek yang dikembalikan dari asal, dan mengirimkanSet-Cookie
header tersebut ke pemirsa di semua klik cache. -
Teruskan satu set cookie yang Anda tentukan — CloudFront menghapus cookie apa pun yang dikirim penampil yang tidak ada dalam daftar yang diizinkan sebelum meneruskan permintaan ke asal. CloudFront cache respons menggunakan nama dan nilai cookie yang tercantum dalam permintaan penampil. Jika respons asal menyertakan
Set-Cookie
header, CloudFront mengembalikannya ke penampil dengan objek yang diminta. CloudFront juga menyimpanSet-Cookie
header dengan objek yang dikembalikan dari asal, dan mengirimkanSet-Cookie
header tersebut ke pemirsa di semua klik cache.Untuk informasi tentang menentukan wildcard dalam nama cookie, lihat. Daftar cookie yang diizinkan
Untuk kuota saat ini pada jumlah nama cookie yang dapat Anda teruskan untuk setiap perilaku cache, atau untuk meminta kuota yang lebih tinggi, lihat. Kuota pada string kueri (pengaturan cache warisan)
-
Jangan meneruskan cookie ke asal Anda — CloudFront tidak menyimpan objek Anda berdasarkan cookie yang dikirim oleh pemirsa. Selain itu, CloudFront menghapus cookie sebelum meneruskan permintaan ke asal Anda, dan menghapus
Set-Cookie
header dari tanggapan sebelum mengembalikan tanggapan ke pemirsa Anda. Karena ini bukan cara optimal untuk menggunakan sumber daya asal Anda, ketika Anda memilih perilaku cache ini, Anda harus memastikan bahwa asal Anda tidak menyertakan cookie dalam respons asal secara default.
Perhatikan hal berikut tentang menentukan cookie yang ingin Anda teruskan:
- Log akses
-
Jika Anda CloudFront mengonfigurasi permintaan log dan mencatat cookie, CloudFront mencatat semua cookie dan semua atribut cookie, bahkan jika Anda mengonfigurasi untuk CloudFront tidak meneruskan cookie ke asal Anda atau jika Anda mengonfigurasi CloudFront untuk meneruskan hanya cookie tertentu. Untuk informasi selengkapnya tentang CloudFront pencatatan, lihatKonfigurasikan dan gunakan log standar (log akses).
- Sensitivitas kasus
-
Nama dan nilai cookie bersifat peka huruf besar-kecil. Misalnya, jika CloudFront dikonfigurasi untuk meneruskan semua cookie, dan dua permintaan penampil untuk objek yang sama memiliki cookie yang identik kecuali untuk kasus, CloudFront cache objek dua kali.
- CloudFront mengurutkan cookie
-
Jika CloudFront dikonfigurasi untuk meneruskan cookie (semua atau sebagian), CloudFront urutkan cookie dalam urutan alami berdasarkan nama cookie sebelum meneruskan permintaan ke asal Anda.
catatan
Nama cookie yang dimulai dengan
$
karakter tidak didukung. CloudFront akan menghapus cookie sebelum meneruskan permintaan ke asal. Anda dapat menghapus$
karakter atau menentukan karakter yang berbeda di awal nama cookie. If-Modified-Since
danIf-None-Match
-
If-Modified-Since
dan permintaanIf-None-Match
bersyarat tidak didukung ketika CloudFront dikonfigurasi untuk meneruskan cookie (semua atau subset). - Nama standar–format pasangan nilai diperlukan
-
CloudFront meneruskan header cookie hanya jika nilainya sesuai dengan format pasangan nama-nilai standar
, misalnya: "Cookie: cookie1=value1; cookie2=value2"
- Nonaktifkan cache
Set-Cookie
header -
Jika CloudFront dikonfigurasi untuk meneruskan cookie ke asal (baik semua atau cookie tertentu), itu juga menyimpan
Set-Cookie
header yang diterima dalam respons asal. CloudFront termasukSet-Cookie
header ini dalam tanggapannya terhadap penampil asli, dan juga memasukkannya dalam tanggapan berikutnya yang disajikan dari CloudFront cache.Jika Anda ingin menerima cookie di asal Anda tetapi Anda tidak CloudFront ingin menyimpan
Set-Cookie
header di tanggapan asal Anda, konfigurasikan asal Anda untuk menambahkanCache-Control
header denganno-cache
arahan yang menentukanSet-Cookie
sebagai nama bidang. Sebagai contoh:Cache-Control: no-cache="Set-Cookie"
. Untuk informasi lebih lanjut, lihat Response Cache-Control Directivesdalam Hypertext Transfer Protocol (HTTP/1.1): standar Caching. - Panjang maksimum nama cookie
-
Jika Anda mengonfigurasi CloudFront untuk meneruskan cookie tertentu ke asal Anda, jumlah total byte di semua nama cookie yang Anda konfigurasikan CloudFront untuk diteruskan tidak dapat melebihi 512 dikurangi jumlah cookie yang Anda teruskan. Misalnya, jika Anda mengonfigurasi CloudFront untuk meneruskan 10 cookie ke asal Anda, panjang gabungan nama 10 cookie tidak dapat melebihi 502 byte (512 — 10).
Jika Anda mengonfigurasi CloudFront untuk meneruskan semua cookie ke asal Anda, panjang nama cookie tidak menjadi masalah.
Untuk informasi tentang menggunakan CloudFront konsol untuk memperbarui distribusi sehingga CloudFront meneruskan cookie ke asal, lihatPerbarui distribusi. Untuk informasi tentang menggunakan CloudFront API untuk memperbarui distribusi, lihat UpdateDistributiondi CloudFront APIReferensi Amazon.