

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

# Menambahkan, menghapus, atau mengganti konten yang CloudFront mendistribusikan
<a name="AddRemoveReplaceObjects"></a>

Bagian ini menjelaskan cara memastikan CloudFront dapat mengakses konten yang ingin disajikan kepada pemirsa Anda, cara menentukan objek di situs web Anda atau di aplikasi Anda, dan cara menghapus atau mengganti konten.

**Topics**
+ [Menambahkan dan mengakses konten yang CloudFront mendistribusikan](#AddingObjects)
+ [Gunakan versi file untuk memperbarui atau menghapus konten dengan distribusi CloudFront](UpdatingExistingObjects.md)
+ [Sesuaikan format URL untuk file di CloudFront](LinkFormat.md)
+ [Tentukan objek root default](DefaultRootObject.md)
+ [Membatalkan file untuk menghapus konten](Invalidation.md)
+ [Sajikan file terkompresi](ServingCompressedFiles.md)

## Menambahkan dan mengakses konten yang CloudFront mendistribusikan
<a name="AddingObjects"></a>

Ketika Anda CloudFront ingin mendistribusikan konten (objek), Anda menambahkan file ke salah satu asal yang Anda tentukan untuk distribusi, dan Anda mengekspos CloudFront link ke file. Lokasi CloudFront tepi tidak mengambil file baru dari asal sampai lokasi tepi menerima permintaan penampil untuknya. Untuk informasi selengkapnya, lihat [Bagaimana CloudFront memberikan konten](HowCloudFrontWorks.md). 

Saat Anda menambahkan file yang CloudFront ingin Anda distribusikan, pastikan Anda menambahkannya ke salah satu bucket Amazon S3 yang ditentukan dalam distribusi Anda atau, untuk asal kustom, ke direktori di domain yang ditentukan. Selain itu, konfirmasi bahwa pola jalur dalam perilaku cache yang berlaku mengirimkan permintaan ke asal yang benar. 

Misalnya, anggaplah pola jalur untuk perilaku cache adalah `*.html`. Jika Anda tidak memiliki perilaku cache lain yang dikonfigurasi untuk meneruskan permintaan ke asal itu, hanya CloudFront akan meneruskan `*.html` file. Dalam skenario ini, misalnya, tidak CloudFront akan pernah mendistribusikan file.jpg yang Anda unggah ke asal, karena Anda belum membuat perilaku cache yang menyertakan file.jpg.

CloudFront server tidak menentukan tipe MIME untuk objek yang mereka layani. Saat Anda mengunggah file ke asal Anda, kami sarankan Anda mengatur `Content-Type` bidang judul untuk itu.

# Gunakan versi file untuk memperbarui atau menghapus konten dengan distribusi CloudFront
<a name="UpdatingExistingObjects"></a>

Untuk memperbarui konten yang CloudFront sudah ada yang disiapkan untuk didistribusikan untuk Anda, sebaiknya gunakan pengenal versi dalam nama file atau nama folder. Ini membantu memberi Anda kendali atas pengelolaan konten yang CloudFront disajikan.

## Perbarui file yang ada menggunakan nama file berversi
<a name="ReplacingObjects"></a>

Ketika Anda memperbarui file yang ada dalam CloudFront distribusi, kami sarankan Anda menyertakan semacam pengenal versi baik dalam nama file Anda atau dalam nama direktori Anda untuk memberi diri Anda kontrol yang lebih baik atas konten Anda. Pengidentifikasi ini dapat berupa stempel waktu tanggal, nomor urut, atau beberapa metode lain untuk membedakan dua versi dari objek yang sama. 

Sebagai contoh, alih-alih menamai gambar file grafis.jpg, Anda dapat menyebutnya\$11.jpg. Saat Anda ingin mulai menyajikan versi baru file ini, Anda akan menyebutkan gambar file baru\$12.jpg, dan Anda akan memperbarui tautan di aplikasi web atau situs web untuk menunjukkan gambar\$12.jpg. Sebagai alternatif, Anda dapat menempatkan semua grafik di direktori gambar\$1v1 dan, ketika Anda ingin mulai menyajikan versi baru dari satu grafik atau lebih, Anda akan membuat direktori gambar\$1v2 baru, dan Anda akan memperbarui tautan Anda untuk mengarah ke direktori itu. Dengan pembuatan versi, Anda tidak perlu menunggu objek kedaluwarsa sebelum CloudFront mulai menyajikan versi baru, dan Anda tidak perlu membayar untuk pembatalan objek.

Sekalipun Anda sudah membuat versi file, kami masih menyarankan agar Anda mengatur tanggal kedaluwarsa. Untuk informasi selengkapnya, lihat [Mengelola berapa lama konten tetap dalam cache (kedaluwarsa)](Expiration.md).

**catatan**  
Menentukan nama file atau nama direktori versi tidak terkait dengan versi objek Amazon S3.

## Hapus konten sehingga tidak CloudFront akan mendistribusikannya
<a name="RemovingObjects"></a>

Anda dapat menghapus file dari tempat asal Anda bahwa Anda tidak ingin lagi disertakan dalam CloudFront distribusi. Namun, CloudFront akan terus menampilkan konten pemirsa dari cache tepi hingga file kedaluwarsa. 

Jika Anda ingin langsung menghapus file, Anda harus melakukan salah satu hal berikut:
+ **Gunakan versi file.** Saat Anda menggunakan versi, versi file yang berbeda memiliki nama berbeda yang dapat Anda gunakan dalam CloudFront distribusi, untuk mengubah file mana yang dikembalikan ke pemirsa. Untuk informasi selengkapnya, lihat [Perbarui file yang ada menggunakan nama file berversi](#ReplacingObjects).
+ **Membatalkan file.** Untuk informasi selengkapnya, lihat [Membatalkan file untuk menghapus konten](Invalidation.md).

# Sesuaikan format URL untuk file di CloudFront
<a name="LinkFormat"></a>

Setelah Anda mengatur asal Anda dengan objek (konten) yang ingin Anda sajikan CloudFront kepada pemirsa Anda, Anda harus menggunakan yang benar URLs untuk mereferensikan objek tersebut di situs web atau kode aplikasi Anda sehingga CloudFront dapat menyajikannya.

Nama domain yang Anda gunakan URLs untuk objek di halaman web Anda atau di aplikasi web Anda dapat berupa salah satu dari berikut ini:
+ Nama domain, seperti`d111111abcdef8.cloudfront.net`, yang CloudFront secara otomatis menetapkan saat Anda membuat distribusi
+ Nama domain Anda sendiri, seperti `example.com`

Misalnya, Anda mungkin menggunakan salah satu dari berikut ini URLs untuk mengembalikan file`image.jpg`:

`https://d111111abcdef8.cloudfront.net/images/image.jpg`

`https://example.com/images/image.jpg`

Anda menggunakan format URL yang sama baik Anda menyimpan konten dalam bucket Amazon S3 atau di tempat yang dibuat khusus, seperti salah satu server web Anda sendiri.

**catatan**  
Format URL bergantung sebagian pada nilai yang Anda tentukan untuk **Jalur Asal** dalam distribusi Anda. Nilai ini CloudFront memberikan jalur direktori teratas untuk objek Anda. Untuk informasi lebih lanjut tentang pengaturan jalur asal ketika Anda membuat distribusi, lihat [Jalur asal](DownloadDistValuesOrigin.md#DownloadDistValuesOriginPath).

Untuk informasi selengkapnya tentang format URL, lihat bagian berikut.

## Gunakan nama domain Anda sendiri (example.com)
<a name="LinkFormat_OwnDomain"></a>

Alih-alih menggunakan nama domain default CloudFront yang ditetapkan untuk Anda saat membuat distribusi, Anda dapat [menambahkan nama domain alternatif](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCNAME) yang lebih mudah digunakan, seperti`example.com`. Dengan menyiapkan nama domain Anda sendiri CloudFront, Anda dapat menggunakan URL seperti ini untuk objek dalam distribusi Anda:

`https://example.com/images/image.jpg`

Jika Anda berencana untuk menggunakan HTTPS di antara pemirsa dan CloudFront, lihat[Gunakan nama domain alternatif dan HTTPS](using-https-alternate-domain-names.md).

## Gunakan garis miring (/) di URLs
<a name="LinkFormat_TrailingSlash"></a>

Saat Anda menentukan URLs direktori dalam CloudFront distribusi Anda, pilih untuk selalu menggunakan garis miring atau tidak pernah menggunakan garis miring. Misalnya, pilih hanya salah satu format berikut untuk semua URLs:

`https://d111111abcdef8.cloudfront.net/images/`

`https://d111111abcdef8.cloudfront.net/images`

**Mengapa itu penting?**

Kedua format berfungsi untuk menautkan ke CloudFront objek, tetapi konsisten dapat membantu mencegah masalah saat Anda ingin membatalkan direktori nanti. CloudFront menyimpan URLs persis seperti yang didefinisikan, termasuk garis miring. Jadi jika format Anda tidak konsisten, Anda harus membatalkan direktori URLs dengan dan tanpa garis miring, untuk memastikan bahwa CloudFront menghapus direktori. 

Tidak nyaman untuk membuat kedua format URL menjadi invalid, dan ini dapat menyebabkan biaya tambahan. Itu karena jika Anda harus menggandakan pembatalan untuk menutupi kedua jenis URLs, Anda mungkin melebihi jumlah maksimum pembatalan gratis yang diizinkan untuk bulan tersebut. Dan jika hal itu terjadi, Anda harus membayar semua ketidakabsahan, bahkan jika hanya satu format untuk setiap URL direktori yang ada CloudFront.

## Buat ditandatangani URLs untuk konten terbatas
<a name="LinkFormat_SignedURLs"></a>

Jika Anda memiliki konten yang ingin Anda batasi aksesnya, Anda dapat membuat ditandatangani URLs. Misalnya, jika Anda ingin mendistribusikan konten Anda hanya kepada pengguna yang telah diautentikasi, Anda dapat membuat URLs yang hanya valid untuk jangka waktu tertentu atau yang hanya tersedia dari alamat IP tertentu. Untuk informasi selengkapnya, lihat [Sajikan konten pribadi dengan cookie yang ditandatangani URLs dan ditandatangani](PrivateContent.md).

# Tentukan objek root default
<a name="DefaultRootObject"></a>

Anda dapat mengonfigurasi CloudFront untuk mengembalikan objek tertentu (objek root default) ketika pengguna (penampil) meminta URL root untuk distribusi Anda alih-alih meminta objek dalam distribusi Anda. Anda dapat menggunakan objek root default untuk menghindari mengekspos konten distribusi Anda.

**Contents**
+ [Cara menentukan objek root default](#DefaultRootObjectHowToDefine)
+ [Cara kerja objek root default](#DefaultRootObjectHow)
+ [Bagaimana cara CloudFront kerja jika Anda tidak mendefinisikan objek root](#DefaultRootObjectNotSet)

## Cara menentukan objek root default
<a name="DefaultRootObjectHowToDefine"></a>

Untuk menghindari mengekspos konten distribusi Anda atau mengembalikan kesalahan, tentukan objek root default untuk distribusi Anda. Anda dapat menentukan nama file yang tepat atau jalur ke file. Misalnya, jika objek root Anda adalah `index.html` file, Anda dapat menentukan nama file itu. Jika `index.html` file Anda berada di folder lain, tentukan jalurnya sebagai gantinya seperti`exampleFolderName/index.html`. Jika Anda menetapkan jalur ke objek root default, permintaan penampil ke URL root distribusi akan mengembalikan file yang ditentukan dari jalur itu. Anda dapat menggunakan jalur file untuk memiliki lebih banyak fleksibilitas untuk mengatur konten Anda di asal, karena objek root default Anda dapat berada di folder alih-alih di tingkat root. <a name="DefaultRootObjectProcedure"></a>

**Untuk menentukan objek akar default untuk distribusi Anda**

1. Unggah objek akar default ke asal titik distribusi Anda.

   File dapat berupa jenis apa pun yang didukung oleh CloudFront. Untuk daftar batasan pada nama file, lihat `DefaultRootObject` elemen dalam [DistributionConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_DistributionConfig.html)Referensi *Amazon CloudFront * API.
**catatan**  
Jika nama file dari objek root default terlalu panjang atau berisi karakter yang tidak valid, CloudFront mengembalikan kesalahan. `HTTP 400 Bad Request - InvalidDefaultRootObject` Selain itu, CloudFront cache kode selama 10 detik (secara default) dan menulis hasilnya ke log akses.

1. Konfirmasikan bahwa izin untuk objek memberikan CloudFront setidaknya akses baca.

   Untuk informasi selengkapnya tentang izin Amazon S3, lihat [Manajemen identitas dan akses di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) di Panduan Pengguna Layanan Penyimpanan *Sederhana Amazon*.

1. Perbarui distribusi Anda untuk merujuk ke objek root default dengan menggunakan CloudFront konsol atau CloudFront API.

   Untuk menentukan objek root default dengan menggunakan CloudFront konsol:

   1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

   1. Pada daftar distribusi di panel atas, pilih distribusi yang akan diperbarui.

   1. Di panel **Pengaturan**, pada tab **Umum**, pilih **Edit**.

   1. Dalam kotak dialog **Edit pengaturan**, di bidang **objek root default**, masukkan nama file atau jalur ke objek root default.
**Tip**  
String Anda tidak dapat dimulai dengan garis miring ke depan (`/`). Hanya tentukan nama objek atau jalur ke objek. Misalnya, gunakan `index.html` atau`exampleFolderName/index.html`. Menentukan `/exampleFolderName/index.html` atau `/index.html` dapat menyebabkan kesalahan [403 Access Denied](http-403-permission-denied.md). 

   1. Pilih **Simpan perubahan**.

   Untuk memperbarui konfigurasi Anda menggunakan CloudFront API, tentukan nilai untuk `DefaultRootObject` elemen dalam distribusi Anda. Untuk informasi tentang penggunaan CloudFront API untuk menentukan objek root default, lihat [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)di *Referensi Amazon CloudFront API*.

1. Konfirmasikan bahwa Anda telah mengaktifkan objek akar default dengan meminta URL akar Anda. Jika browser Anda tidak menampilkan objek akar default, lakukan langkah-langkah berikut:

   1. Konfirmasikan bahwa distribusi Anda sepenuhnya digunakan dengan melihat status distribusi Anda di CloudFront konsol.

   1. Ulangi langkah 2 dan 3 untuk memverifikasi bahwa Anda memberikan izin yang benar dan bahwa Anda memperbarui konfigurasi distribusi Anda dengan benar untuk menentukan objek akar default.

## Cara kerja objek root default
<a name="DefaultRootObjectHow"></a>

Misalkan, permintaan berikut mengarah ke objek `image.jpg`:

`https://d111111abcdef8.cloudfront.net/image.jpg`

Sebaliknya, permintaan berikut menunjuk URL akar dari distribusi yang sama, bukan ke objek tertentu, seperti pada contoh pertama:

`https://d111111abcdef8.cloudfront.net/`

Saat Anda menentukan objek akar default, permintaan pengguna akhir yang menyebut akar distribusi Anda akan mengembalikan objek akar default. Misalnya, jika Anda menetapkan file `index.html` sebagai objek akar default Anda, permintaan untuk:

`https://d111111abcdef8.cloudfront.net/`

Pengembalian:

`https://d111111abcdef8.cloudfront.net/index.html`

**catatan**  
CloudFront tidak menentukan apakah URL dengan beberapa garis miring (`https://d111111abcdef8.cloudfront.net///`) setara dengan. `https://d111111abcdef8.cloudfront.net/` Server asal Anda membuat perbandingan itu.

Jika Anda mendefinisikan objek root default, permintaan pengguna akhir untuk subdirektori distribusi Anda tidak mengembalikan objek root default. Misalnya, misalkan `index.html` adalah objek root default Anda dan yang CloudFront menerima permintaan pengguna akhir untuk `install` direktori di bawah distribusi Anda CloudFront:

`https://d111111abcdef8.cloudfront.net/install/`

CloudFront tidak mengembalikan objek root default bahkan jika salinan `index.html` muncul di `install` direktori. Namun, jika Anda menentukan *jalur* ke objek root default Anda, (`install/index.html`) CloudFront akan mengembalikan objek root default untuk permintaan pengguna akhir untuk direktori `install`

Jika Anda mengonfigurasi distribusi untuk memungkinkan semua metode HTTP yang CloudFront mendukung, objek akar default berlaku untuk semua metode. Misalnya, jika objek root default Anda adalah index.php dan Anda menulis aplikasi Anda untuk mengirimkan `POST` permintaan ke root domain Anda (https://example.com), CloudFront kirimkan permintaan ke https://example.com /index.php.

Perilaku objek root CloudFront default berbeda dari perilaku dokumen indeks Amazon S3. Saat Anda mengonfigurasi bucket Amazon S3 sebagai situs web dan menentukan dokumen indeks, Amazon S3 mengembalikan dokumen indeks meskipun pengguna meminta subdirektori dalam bucket. (Salinan dokumen indeks harus muncul di setiap subdirektori.) Untuk informasi selengkapnya tentang mengonfigurasi bucket Amazon S3 sebagai situs web dan tentang dokumen indeks, lihat [bagian Situs Web Hosting di Amazon S3 di Panduan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html) Pengguna Layanan Penyimpanan *Sederhana Amazon*.

**penting**  
Ingat bahwa objek root default hanya berlaku untuk CloudFront distribusi Anda. Anda masih perlu mengelola keamanan untuk negara asal Anda. Misalnya, jika Anda menggunakan asal Amazon S3, Anda masih perlu menyetel bucket Amazon S3 dengan tepat untuk memastikan tingkat akses yang Anda inginkan di ACLs bucket Anda.

## Bagaimana cara CloudFront kerja jika Anda tidak mendefinisikan objek root
<a name="DefaultRootObjectNotSet"></a>

Jika Anda tidak menentukan objek akar default, mintalah akar pas distribusi Anda ke server asal Anda. Jika Anda menggunakan asal Amazon S3, salah satu dari hal berikut dapat dikembalikan:
+ **Daftar isi bucket Amazon S3 Anda** — Di bawah salah satu kondisi berikut, konten asal Anda dapat dilihat oleh siapa saja yang menggunakan CloudFront untuk mengakses distribusi Anda:
  + Bucket Anda tidak dikonfigurasi dengan benar. 
  + Izin Amazon S3 pada buket yang terkait dengan distribusi Anda dan pada objek di dalam buket memberikan akses ke *setiap orang*.
  + Pengguna akhir mengakses asal Anda menggunakan URL akar asal Anda. 
+ **Daftar konten pribadi asal Anda — Jika Anda mengonfigurasi asal** Anda sebagai distribusi pribadi (hanya Anda dan CloudFront memiliki akses), konten bucket Amazon S3 yang terkait dengan distribusi Anda dapat dilihat oleh siapa saja yang memiliki kredensi untuk mengakses distribusi Anda melalui. CloudFront Dalam hal ini, pengguna tidak dapat mengakses konten Anda melalui URL akar asal Anda. Untuk informasi selengkapnya tentang distribusi konten pribadi, lihat [Sajikan konten pribadi dengan cookie yang ditandatangani URLs dan ditandatangani](PrivateContent.md).
+ `Error 403 Forbidden`— CloudFront mengembalikan kesalahan ini jika izin di bucket Amazon S3 yang terkait dengan distribusi Anda atau izin pada objek di bucket tersebut menolak akses CloudFront ke dan ke semua orang.

# Membatalkan file untuk menghapus konten
<a name="Invalidation"></a>

Jika Anda perlu menghapus file dari cache CloudFront tepi sebelum kedaluwarsa, Anda dapat melakukan salah satu hal berikut:
+ Validasikan file dari cache edge. Lain kali penampil meminta file, CloudFront kembali ke asal untuk mengambil versi terbaru dari file tersebut.
+ Gunakan pembuatan versi file untuk menyajikan versi lain dari file yang memiliki nama berbeda. Untuk informasi selengkapnya, lihat [Perbarui file yang ada menggunakan nama file berversi](UpdatingExistingObjects.md#ReplacingObjects).

**Topics**
+ [Pilih antara membatalkan file dan menggunakan nama file berversi](#Invalidation_Expiration)
+ [Tentukan file mana yang akan dibatalkan](invalidation-access-logs.md)
+ [Apa yang perlu Anda ketahui saat membatalkan file](invalidation-specifying-objects.md)
+ [Membatalkan file](Invalidation_Requests.md)
+ [Permintaan pembatalan bersamaan maksimum](InvalidationLimits.md)
+ [Bayar untuk pembatalan file](PayingForInvalidation.md)

## Pilih antara membatalkan file dan menggunakan nama file berversi
<a name="Invalidation_Expiration"></a>

Untuk mengontrol versi file yang dilayani dari distribusi Anda, Anda dapat menginvalidasi file atau memberikan nama file versi. Jika Anda ingin sering memperbarui file, sebaiknya gunakan versi file untuk alasan berikut:
+ Pemutakhiran memungkinkan Anda mengontrol file mana yang mengembalikan permintaan, bahkan ketika pengguna memiliki versi yang disimpan secara lokal atau di belakang proksi caching perusahaan. Jika Anda membuat berkas menjadi tidak valid, pengguna mungkin akan terus melihat versi lama hingga berkas tersebut kedaluwarsa dari cache tersebut.
+ CloudFront log akses menyertakan nama-nama file Anda, sehingga pembuatan versi memudahkan untuk menganalisis hasil perubahan file.
+ Pembuatan versi memberikan cara untuk menyajikan versi file berbeda ke pengguna berbeda.
+ Pembuatan versi menyederhanakan peluncuran maju dan mundur antar revisi file.
+ Pembuatan versi lebih murah. Anda masih harus membayar CloudFront untuk mentransfer versi baru file Anda ke lokasi tepi, tetapi Anda tidak perlu membayar untuk membatalkan file. 

Untuk informasi lebih lanjut tentang versi file, lihat [Perbarui file yang ada menggunakan nama file berversi](UpdatingExistingObjects.md#ReplacingObjects).

# Tentukan file mana yang akan dibatalkan
<a name="invalidation-access-logs"></a>

Jika Anda ingin menginvalidasi beberapa file seperti semua file dalam direktori atau semua file yang dimulai dengan karakter yang sama, Anda dapat menyertakan `*` wildcard di akhir jalur invalidasi. Untuk informasi lebih lanjut tentang menggunakan `*` wildcard, lihat [Invalidation paths](invalidation-specifying-objects.md#invalidation-specifying-objects-paths).

Untuk membuat file tidak valid, Anda dapat menentukan jalur untuk file individu atau jalur yang berakhir dengan `*` wildcard, yang mungkin berlaku untuk satu file atau untuk banyak file, seperti yang ditunjukkan dalam contoh berikut:
+ `/images/image1.jpg`
+ `/images/image*`
+ `/images/*`

Jika Anda ingin membatalkan file yang dipilih tetapi pengguna tidak selalu mengakses setiap file yang ada di tempat Anda, Anda dapat menentukan file yang diminta oleh penampil CloudFront dan batalkan hanya file tersebut. Untuk menentukan file yang diminta pemirsa, aktifkan pencatatan CloudFront akses. Untuk informasi selengkapnya tentang log akses, lihat [Akses log (log standar)](AccessLogs.md).

# Apa yang perlu Anda ketahui saat membatalkan file
<a name="invalidation-specifying-objects"></a>

Saat Anda menentukan file yang akan dibatalkan, lihat informasi berikut:

**Sensitivitas kasus**  
Jalur pembatalan peka huruf besar/kecil. Misalnya, `/images/image.jpg` dan `/images/Image.jpg` tentukan dua file yang berbeda.

**Mengubah URI dengan menggunakan fungsi Lambda**  
Jika CloudFront distribusi Anda memicu fungsi Lambda pada peristiwa permintaan penampil, dan jika fungsi tersebut mengubah URI file yang diminta, sebaiknya Anda membatalkan URIs keduanya untuk menghapus file dari cache tepi: CloudFront  
+ URI dalam permintaan penampil
+ URI setelah fungsi mengubahnya

**Example Contoh**  
Misalkan fungsi Lambda Anda mengubah URI untuk file dari:  
`https://d111111abcdef8.cloudfront.net/index.html`  
Ke URI yang menyertakan direktori bahasa:  
`https://d111111abcdef8.cloudfront.net/en/index.html`  
Untuk menginvalidasi file, Anda harus menentukan jalur berikut:  
+ `/index.html`
+ `/en/index.html`
Untuk informasi selengkapnya, lihat [Invalidation paths](#invalidation-specifying-objects-paths).

**Objek akar default**  
Untuk menginvalidasi objek akar default (file), tentukan jalur dengan cara yang sama dengan Anda menentukan jalur untuk file lain. Untuk informasi selengkapnya, lihat [Cara kerja objek root default](DefaultRootObject.md#DefaultRootObjectHow).

**Meneruskan cookie**  
Jika Anda mengonfigurasi CloudFront untuk meneruskan cookie ke asal Anda, cache CloudFront edge mungkin berisi beberapa versi file. Saat Anda membatalkan file, CloudFront membatalkan setiap versi file yang di-cache terlepas dari cookie yang terkait. Anda tidak dapat menginvalidasi beberapa versi secara selektif dan tidak lainnya berdasarkan cookie terkait. Untuk informasi selengkapnya, lihat [Konten cache berdasarkan cookie](Cookies.md).

**Meneruskan header**  
Jika Anda mengonfigurasi CloudFront untuk meneruskan daftar header ke asal Anda dan ke cache berdasarkan nilai header, cache CloudFront tepi mungkin berisi beberapa versi file. Saat Anda membuat file tidak valid, CloudFront mengvalidasi setiap versi file yang disimpan, terlepas dari nilai header. Anda tidak dapat menginvalidasi beberapa versi secara selektif dan tidak lainnya berdasarkan nilai header. (Jika Anda mengonfigurasi CloudFront untuk meneruskan semua header ke asal Anda, CloudFront jangan cache file Anda.) Untuk informasi selengkapnya, lihat [Konten cache berdasarkan header permintaan](header-caching.md).

**Meneruskan string kueri**  
Jika Anda mengonfigurasi CloudFront untuk meneruskan string kueri ke asal Anda, Anda harus menyertakan string kueri saat membatalkan file, seperti yang ditunjukkan dalam contoh berikut:  
+ `/images/image.jpg?parameter1=a`
+ `/images/image.jpg?parameter1=b`
Jika permintaan klien mencakup lima string kueri berbeda untuk file yang sama, Anda dapat membuat file tidak valid sebanyak lima kali, satu kali untuk setiap string kueri, atau Anda dapat menggunakan \$1 wildcard di jalur tidak valid, seperti yang ditunjukkan dalam contoh berikut:  
`/images/image.jpg*`  
Untuk informasi lebih lanjut tentang penggunaan wildcard di jalur ketidakvalidan, lihat [Invalidation paths](#invalidation-specifying-objects-paths).   
Untuk informasi lebih lanjut tentang string pencarian, lihat [Konten cache berdasarkan parameter string kueri](QueryStringParameters.md).   
Untuk menentukan string kueri mana yang sedang digunakan, Anda dapat mengaktifkan CloudFront log. Untuk informasi selengkapnya, lihat [Akses log (log standar)](AccessLogs.md).

**Maksimum yang diizinkan**  
Untuk informasi selengkapnya tentang jumlah maksimum pembatalan yang diizinkan, lihat. [Permintaan pembatalan bersamaan maksimum](InvalidationLimits.md)

**File Microsoft Smooth Streaming**  
Anda tidak dapat membatalkan file media dalam format Microsoft Smooth Streaming ketika Anda telah mengaktifkan Smooth Streaming untuk perilaku cache yang sesuai. 

**Karakter Non-ASCII atau tidak aman di jalur**  
Jika jalur menyertakan karakter non-ASCII atau karakter tidak aman seperti yang didefinisikan dalam [RFC 1738](https://tools.ietf.org/html/rfc1738), url-encode karakter tersebut. Jangan mengkodekan URL karakter lain di jalur, atau tidak CloudFront akan membatalkan versi lama file yang diperbarui.  
Jangan gunakan `~` karakter di jalan Anda. CloudFront tidak mendukung karakter ini untuk pembatalan, apakah itu dikodekan URL atau tidak.

**Jalur pembatalan**  
Jalurnya relatif terhadap distribusi. Misalnya, untuk membatalkan file di`https://d111111abcdef8.cloudfront.net/images/image2.jpg`, Anda akan menentukan. `/images/image2.jpg`  
Di [CloudFrontkonsol](https://console.aws.amazon.com/cloudfront/v4/home), Anda dapat menghilangkan garis miring di jalur, seperti ini:. `images/image2.jpg` Saat Anda menggunakan CloudFront API secara langsung, jalur pembatalan harus dimulai dengan garis miring di depan.
Anda juga dapat menginvalidasi beberapa file sekaligus dengan menggunakan `*` wildcard. `*`, yang menggantikan 0 karakter atau lebih, harus menjadi karakter terakhir di jalur ketidakvalidan.   
Untuk menggunakan wildcard (\$1) dalam pembatalan, Anda harus meletakkan wildcard di ujung jalur. Tanda bintang (\$1) yang disisipkan di tempat lain diperlakukan sebagai kecocokan karakter literal alih-alih pembatalan wildcard.
Jika Anda menggunakan AWS Command Line Interface (AWS CLI) untuk membatalkan file dan menentukan jalur yang menyertakan `*` wildcard, Anda harus menggunakan tanda kutip (`"`) di sekitar jalur seperti. `"/*"`  
Panjang maksimal sebuah jalur adalah 4.000 karakter.  

**Example Contoh: Jalur pembatalan**  
+ Untuk membatalkan semua file dalam direktori:

  `/`*directory-path*`/*`
+ Untuk membatalkan direktori, semua subdirektorinya, dan semua file dalam direktori dan subdirektori:

  `/`*directory-path*`*`
+ Untuk mengvalidasi semua file yang memiliki nama yang sama tetapi memiliki ekstensi nama file yang berbeda, seperti logo.jpg, logo.png, dan logo.gif:

  `/`*directory-path*`/`*file-name*`.*`
+ Untuk membatalkan semua file dalam direktori di mana nama file dimulai dengan karakter yang sama (seperti semua file untuk video dalam format HLS), terlepas dari ekstensi nama file:

  `/`*directory-path*`/`*initial-characters-in-file-name*`*`
+ Saat Anda mengonfigurasi CloudFront ke cache berdasarkan parameter string kueri dan Anda ingin membatalkan setiap versi file:

  `/`*directory-path*`/`*file-name*`.`*file-name-extension*`*`
+ Untuk membatalkan semua file dalam distribusi:

  `/*`
Untuk informasi tentang mendevalidasi file jika Anda menggunakan fungsi Lambda untuk mengubah URI, lihat [Changing the URI Using a Lambda Function](#invalidation-lambda-at-edge).  
Jika alur ketidakabsahan adalah direktori dan jika Anda belum menstandarkan metode untuk menentukan direktori—dengan atau tanpa garis miring yang menyimpang (/)—kami menyarankan Anda untuk menginvalidasi direktori dengan dan tanpa garis miring, misalnya, `/images` dan `/images/`.

**Ditandatangani URLs**  
Jika Anda menggunakan tanda tangan URLs, batalkan file dengan menyertakan hanya bagian URL sebelum tanda tanya (?). 

# Membatalkan file
<a name="Invalidation_Requests"></a>

Anda dapat menggunakan CloudFront konsol untuk membuat dan menjalankan pembatalan, menampilkan daftar pembatalan yang Anda kirimkan sebelumnya, dan menampilkan informasi terperinci tentang pembatalan individual. Anda juga dapat menyalin ketidakvalidan yang sudah ada, mengedit daftar jalur file, dan menjalankan edit ketidakvalidan. Anda tidak dapat menghapus kesalahan dari daftar.

**Contents**
+ [Membatalkan file](#invalidating-objects-console)
+ [Salin, edit, dan jalankan kembali pembatalan yang ada](#invalidating-objects-copy-console)
+ [Batalkan pembatalan](#canceling-invalidations)
+ [Daftar pembatalan](#listing-invalidations-console)
+ [Menampilkan informasi tentang pembatalan](#invalidation-details-console)

## Membatalkan file
<a name="invalidating-objects-console"></a>

Untuk membatalkan file menggunakan CloudFront konsol, lakukan hal berikut.

------
#### [ Console ]<a name="invalidating-objects-console-procedure"></a>

**Untuk membatalkan file (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Pilih distribusi yang ingin Anda batalkan file.

1. Pilih **Tidak berlakunya** tab.

1. Pilih **Buat pembatalan**.

1. Untuk file yang ingin Anda batalkan, masukkan satu jalur ketidakvalidan per baris. Untuk informasi tentang menentukan jalur ketidakvalidan, lihat [Apa yang perlu Anda ketahui saat membatalkan file](invalidation-specifying-objects.md). 
**penting**  
Tentukan jalur file dengan cermat. Anda tidak dapat menginvalidasi permintaan ketidakabsahan setelah Anda memulainya.

1. Pilih **Buat pembatalan**.

------
#### [ CloudFront API ]

*Untuk mempelajari tentang membatalkan objek dan menampilkan informasi tentang pembatalan, lihat topik berikut di Referensi Amazon API: CloudFront *
+ [CreateInvalidation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateInvalidation.html) 
+ [ListInvalidations](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListInvalidations.html)
+ [GetInvalidation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetInvalidation.html)

**catatan**  
Jika Anda menggunakan AWS Command Line Interface (AWS CLI) untuk membatalkan file dan menentukan jalur yang menyertakan `*` wildcard, Anda harus menggunakan tanda kutip (`"`) di sekitar jalur, seperti contoh berikut:   

```
aws cloudfront create-invalidation --distribution-id distribution_ID --paths "/*"
```

------

## Salin, edit, dan jalankan kembali pembatalan yang ada
<a name="invalidating-objects-copy-console"></a>

Anda dapat menyalin ketidakvalidan yang Anda buat sebelumnya, memperbarui daftar jalur ketidakvalidan, dan menjalankan ketidakabsahan yang diperbarui. Anda tidak dapat menyalin pembatalan yang ada, memperbarui jalur pembatalan, dan kemudian menyimpan pembatalan yang diperbarui tanpa menjalankannya.

**penting**  
Jika Anda menyalin pembatalan yang masih berlangsung, perbarui daftar jalur pembatalan, lalu jalankan pembatalan yang diperbarui, tidak CloudFront akan menghentikan atau menghapus pembatalan yang Anda salin. Jika ada jalur pembatalan muncul di aslinya dan dalam salinan, CloudFront akan mencoba untuk membatalkan file dua kali, dan kedua pembatalan akan dihitung terhadap jumlah maksimum pembatalan gratis untuk bulan tersebut. Jika Anda sudah mencapai jumlah maksimum pembatalan gratis, Anda akan dikenakan biaya untuk kedua pembatalan setiap file. Untuk informasi selengkapnya, lihat [Permintaan pembatalan bersamaan maksimum](InvalidationLimits.md).<a name="invalidating-objects-copy-console-procedure"></a>

**Untuk menyalin, mengedit, dan menjalankan ulang ketidakabsahan yang ada**

1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Pilih distribusi yang berisi ketidakvalidan yang ingin Anda salin.

1. Pilih **Tidak berlakunya** tab.

1. Pilih invalidation (tidak valid) yang ingin Anda salin.

   Jika Anda tidak yakin pembatalan mana yang ingin Anda salin, Anda dapat memilih pembatalan dan memilih **Lihat detail** untuk menampilkan informasi terperinci tentang pembatalan tersebut.

1. Pilih **Salin ke yang baru**.

1. Perbarui daftar path ketidakvalidan jika berlaku.

1. Pilih **Buat pembatalan**.

## Batalkan pembatalan
<a name="canceling-invalidations"></a>

Saat Anda mengirimkan permintaan pembatalan ke CloudFront, CloudFront teruskan permintaan ke semua lokasi tepi dalam beberapa detik, dan setiap lokasi tepi mulai memproses pembatalan segera. Oleh karena itu, Anda tidak dapat menginvalidasi ketidakvalidan setelah Anda mengirimkannya.

## Daftar pembatalan
<a name="listing-invalidations-console"></a>

Anda dapat menampilkan daftar 100 pembatalan terakhir yang telah Anda buat dan jalankan untuk distribusi menggunakan konsol. CloudFront Jika Anda ingin mendapatkan daftar lebih dari 100 pembatalan, gunakan operasi API. `ListInvalidations` Untuk informasi selengkapnya, lihat [ListInvalidations](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListInvalidations.html)di *Referensi Amazon CloudFront API*.<a name="listing-invalidations-console-procedure"></a>

**Untuk mencantumkan ketidakabsahan**

1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Pilih distribusi yang ingin Anda tampilkan daftar ketidakvalidan.

1. Pilih **Tidak berlakunya** tab.

**catatan**  
Anda tidak dapat menghapus kesalahan dari daftar.

## Menampilkan informasi tentang pembatalan
<a name="invalidation-details-console"></a>

Anda dapat menampilkan informasi terperinci tentang ketidakabsahan, termasuk ID distribusi, ID ketidakvalidan, status ketidakabsahan, tanggal dan waktu di mana ketidakvalidan dibuat, dan daftar lengkap jalur ketidakvalidan. <a name="invalidation-details-console-procedure"></a>

**Untuk menampilkan informasi tentang ketidakabsahan**

1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Pilih distribusi yang memuat ketidakvalidan yang ingin Anda tampilkan informasi terperincinya.

1. Pilih **Tidak berlakunya** tab.

1. **Pilih ID pembatalan yang berlaku atau pilih ID pembatalan lalu pilih Lihat detail.**

# Permintaan pembatalan bersamaan maksimum
<a name="InvalidationLimits"></a>

Jika Anda melakukan pembatalan berkas secara terpisah, Anda dapat memiliki permintaan pembatalan hingga 3.000 berkas per distribusi yang sedang berlangsung. Ini dapat berupa satu permintaan pembatalan hingga 3.000 file, hingga 3.000 permintaan untuk masing-masing file, atau kombinasi lain yang tidak melebihi 3.000 file. Misalnya, Anda dapat mengirimkan 30 permintaan tidak berlaku yang masing-masing menggugurkan 100 file. Selama ke-30 permintaan pembatalan masih dalam proses, Anda tidak bisa mengajukan permintaan pembatalan lagi. Jika Anda melebihi maksimum, CloudFront mengembalikan pesan kesalahan.

Jika Anda menggunakan \$1 wildcard, Anda dapat memiliki permintaan hingga 15 jalur ketidakvalidan yang sedang berlangsung pada saat bersamaan. Anda juga dapat memiliki permintaan pembatalan hingga 3.000 file individual per distribusi yang sedang berlangsung pada saat yang sama; maksimum permintaan ketidakvalidan wildcard yang diizinkan terpisah dari maksimum berkas yang menginvalidasi secara individu.

# Bayar untuk pembatalan file
<a name="PayingForInvalidation"></a>

1.000 jalur ketidakvalidan pertama yang Anda kirim per bulan adalah gratis; Anda membayar setiap alur ketidakabsahan lebih dari 1.000 dalam satu bulan. Alur ketidakvalidan bisa untuk satu file (seperti `/images/logo.jpg`) atau untuk beberapa file (seperti `/images/*`). Jalur yang menyertakan `*` wildcard dihitung sebagai satu jalur meskipun CloudFront menyebabkan ribuan file tidak valid.

Maksimal 1.000 jalur pembatalan gratis per bulan berlaku untuk jumlah total jalur pembatalan di semua distribusi yang Anda buat dengan satu. Akun AWS Misalnya, jika Anda menggunakan Akun AWS `john@example.com` untuk membuat tiga distribusi, dan Anda mengirimkan 600 jalur pembatalan untuk *setiap distribusi* dalam bulan tertentu (untuk total 1.800 jalur pembatalan), AWS akan menagih Anda untuk perbedaan antara total jalur pembatalan dan batas bebas 1000. Dalam contoh ini, AWS akan menagih Anda untuk 800 jalur pembatalan di bulan itu.

Biaya untuk mengirim alur ketidakvalidan sama terlepas dari jumlah file yang Anda batalkan: file tunggal (`/images/logo.jpg`) atau semua file yang terkait dengan distribusi (`/*`). Karena Anda dikenakan biaya per jalur dalam permintaan pembatalan, meskipun Anda menggabungkan beberapa jalur ke dalam satu permintaan, setiap jalur masih dihitung satu per satu untuk tujuan penagihan. 

Untuk informasi selengkapnya tentang harga pembatalan, lihat Harga [Amazon CloudFront ](https://aws.amazon.com/cloudfront/pricing/). Untuk informasi lebih lanjut tentang jalur ketidakvalidan, lihat [Invalidation paths](invalidation-specifying-objects.md#invalidation-specifying-objects-paths).

# Sajikan file terkompresi
<a name="ServingCompressedFiles"></a>

Ketika objek yang diminta dikompresi, unduhan bisa lebih cepat karena objek lebih kecil—dalam beberapa kasus, kurang dari seperempat ukuran aslinya. Unduhan yang lebih cepat dapat menghasilkan rendering halaman web yang lebih cepat untuk pemirsa Anda, terutama untuk JavaScript dan file CSS. Selain itu, biaya transfer CloudFront data didasarkan pada jumlah total data yang disajikan. Melayani benda terkompresi bisa lebih murah daripada menyajikannya tanpa kompresi.

**Topics**
+ [Konfigurasikan CloudFront untuk mengompres objek](#compressed-content-cloudfront-configuring)
+ [Bagaimana CloudFront kompresi bekerja](#compressed-content-cloudfront-how-it-works)
+ [Kondisi untuk kompresi](#compressed-content-cloudfront-notes)
+ [Jenis file yang CloudFront mengompres](#compressed-content-cloudfront-file-types)
+ [`ETag`konversi header](#compressed-content-cloudfront-etag-header)

## Konfigurasikan CloudFront untuk mengompres objek
<a name="compressed-content-cloudfront-configuring"></a>

Untuk mengkonfigurasi CloudFront untuk mengompres objek, perbarui perilaku cache yang ingin Anda layani objek terkompresi.

**Untuk mengkonfigurasi CloudFront untuk mengompres objek (konsol)**

1. Masuk ke [konsol CloudFront](https://console.aws.amazon.com/cloudfront/v4/home) tersebut.

1. Pilih distribusi Anda dan kemudian pilih **Perilaku** yang akan diedit.

1. Untuk pengaturan **objek Kompres secara otomatis**, pilih **Ya**. 

1. Gunakan [kebijakan cache](controlling-the-cache-key.md) untuk menentukan pengaturan caching, dan aktifkan format kompresi **Gzip** dan **Brotli**.

**Catatan**  
Anda harus menggunakan [kebijakan cache](controlling-the-cache-key.md) untuk menggunakan kompresi Brotli. Brotli tidak mendukung pengaturan cache lama.
Untuk mengaktifkan kompresi dengan menggunakan [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html)atau [CloudFront](https://docs.aws.amazon.com/cloudfront/latest/APIReference/Welcome.html)API, atur `EnableAcceptEncodingBrotli` parameter `Compress``EnableAcceptEncodingGzip`,, ke`true`.

Untuk memahami bagaimana CloudFront mengompres objek, lihat bagian berikut.

## Bagaimana CloudFront kompresi bekerja
<a name="compressed-content-cloudfront-how-it-works"></a>

1. Penampil meminta sebuah objek. Penampil menyertakan header `Accept-Encoding` HTTP dalam permintaan, dan nilai header termasuk`gzip`,`br`, atau keduanya. Ini menunjukkan bahwa penampil mendukung objek terkompresi. Saat penampil mendukung Gzip dan Brotli, CloudFront gunakan Brotli.
**catatan**  
Browser web Chrome dan Firefox mendukung kompresi Brotli hanya ketika permintaan dikirim menggunakan HTTPS. Mereka tidak mendukung Brotli dengan permintaan HTTP.

1. Di lokasi tepi, CloudFront periksa cache untuk salinan terkompresi dari objek yang diminta.

1. Tergantung apakah objek terkompresi ada dalam cache atau CloudFront tidak, lakukan salah satu hal berikut:
   + Jika objek terkompresi sudah ada di cache, CloudFront kirim objek ke penampil dan lewati langkah-langkah yang tersisa.
   + Jika objek terkompresi tidak ada dalam cache, CloudFront teruskan permintaan ke asal.
**catatan**  
Jika salinan objek yang tidak terkompresi sudah ada di cache, CloudFront mungkin mengirimkannya ke penampil tanpa meneruskan permintaan ke asal. Misalnya, ini bisa terjadi ketika CloudFront [sebelumnya dilewati kompresi](#compression-skipped). Ketika ini terjadi, CloudFront cache objek yang tidak dikompresi dan terus melayani sampai objek kedaluwarsa, diusir, atau tidak valid.

1. Jika asal mengembalikan objek terkompresi, (seperti yang ditunjukkan oleh `Content-Encoding` header dalam respons HTTP), CloudFront mengirimkan objek terkompresi ke penampil, menambahkannya ke cache, dan melewatkan langkah-langkah yang tersisa. CloudFront tidak memampatkan objek lagi.

1. Jika asal mengembalikan objek yang tidak dikompresi ke CloudFront tanpa `Content-Encoding` header dalam respons HTTP, CloudFront kemudian menentukan apakah objek dapat dikompresi. Untuk informasi selengkapnya, lihat [Kondisi untuk kompresi](#compressed-content-cloudfront-notes).

1. Jika objek dapat dikompresi, CloudFront kompres, kirimkan ke penampil, dan kemudian menambahkannya ke cache. 

1. Jika ada permintaan penampil berikutnya untuk objek yang sama, CloudFront mengembalikan versi cache pertama. Misalnya, jika penampil meminta objek cache tertentu yang menggunakan kompresi Gzip, dan penampil *menerima* format Gzip, permintaan berikutnya ke objek yang sama akan selalu mengembalikan versi Gzip, bahkan jika penampil menerima Brotli dan Gzip.

Beberapa custom origin juga dapat mengompres objek. Asal Anda mungkin dapat mengompres objek yang CloudFront tidak dikompres. Untuk informasi selengkapnya, lihat [Jenis file yang CloudFront mengompres](#compressed-content-cloudfront-file-types).

## Kondisi untuk kompresi
<a name="compressed-content-cloudfront-notes"></a>

Daftar berikut memberikan informasi lebih lanjut tentang skenario di mana CloudFront tidak memampatkan objek.

**Permintaan menggunakan HTTP 1.0**  
Jika permintaan untuk CloudFront menggunakan HTTP 1.0, CloudFront menghapus `Accept-Encoding` header dan tidak memampatkan objek dalam respons.

**`Accept-Encoding`permintaan header**  
Jika `Accept-Encoding` header hilang dari permintaan penampil, atau jika tidak berisi `gzip` atau `br` sebagai nilai, CloudFront tidak akan memampatkan objek dalam respons. Jika `Accept-Encoding` header menyertakan nilai tambahan seperti`deflate`, CloudFront hapus sebelum meneruskan permintaan ke asal.  
Ketika CloudFront [dikonfigurasi untuk mengompres objek](#compressed-content-cloudfront-configuring), itu termasuk `Accept-Encoding` header di kunci cache dan permintaan asal secara otomatis.

**Konten sudah di-cache saat Anda mengonfigurasi CloudFront untuk mengompres objek**  
CloudFront memampatkan objek ketika mendapatkannya dari asal. Saat Anda mengonfigurasi CloudFront untuk mengompres objek, CloudFront tidak mengompres objek yang sudah di-cache di lokasi tepi. Selain itu, ketika objek yang di-cache kedaluwarsa di lokasi tepi dan CloudFront meneruskan permintaan lain untuk objek ke asal Anda, CloudFront tidak akan memampatkan objek saat asal Anda mengembalikan kode status HTTP 304. Ini berarti bahwa lokasi tepi sudah memiliki versi terbaru dari objek. Jika Anda ingin CloudFront mengompres objek yang sudah di-cache di lokasi tepi, Anda perlu membatalkan objek tersebut. Untuk informasi selengkapnya, lihat [Membatalkan file untuk menghapus konten](Invalidation.md).

**Origin sudah dikonfigurasi untuk mengompres objek**  
Jika Anda mengonfigurasi CloudFront untuk mengompres objek dan asal juga mengompres objek, asal harus menyertakan `Content-Encoding` header. Header ini menunjukkan CloudFront bahwa objek sudah dikompresi. Ketika respons dari asal menyertakan `Content-Encoding` header, CloudFront tidak memampatkan objek, terlepas dari nilai header. CloudFrontmengirimkan respons ke penampil dan menyimpan objek di lokasi tepi.

**Jenis file yang CloudFront mengompres**  
Untuk daftar lengkap, lihat [Jenis file yang CloudFront mengompres](#compressed-content-cloudfront-file-types).

**Ukuran benda yang CloudFront memampatkan**  
CloudFront memampatkan objek yang berukuran antara 1.000 byte dan 10.000.000 byte.

**Header `Content-Length`**  
Asal harus menyertakan `Content-Length` header dalam respons, yang CloudFront digunakan untuk menentukan apakah ukuran objek berada dalam kisaran yang CloudFront memampatkan. Jika `Content-Length` header hilang, berisi nilai yang tidak valid, atau berisi nilai di luar rentang ukuran yang CloudFront dikompres, CloudFront tidak akan memampatkan objek. Untuk informasi selengkapnya tentang cara CloudFront memproses objek besar yang dapat melebihi rentang ukuran, lihat[Bagaimana CloudFront memproses permintaan sebagian untuk suatu objek (rentang GETs)](RangeGETs.md).

**Kode status HTTP dari respons**  
CloudFront mengompres objek hanya ketika kode status HTTP dari respon adalah`200`,`403`, atau`404`.

**Respon tidak memiliki tubuh**  
Ketika respons HTTP dari asal tidak memiliki badan, tidak ada yang bisa dikompres. CloudFront 

**Header `ETag`**  
CloudFront terkadang memodifikasi `ETag` header dalam respons HTTP ketika memampatkan objek. Untuk informasi selengkapnya, lihat [`ETag`konversi header](#compressed-content-cloudfront-etag-header).

**CloudFront melompati kompresi**  
CloudFront mengompres objek dengan upaya terbaik. Dalam kasus yang jarang terjadi, CloudFront lompat mengompresi objek saat CloudFront mengalami beban lalu lintas yang tinggi. CloudFront membuat keputusan ini berdasarkan berbagai faktor, termasuk kapasitas host. Jika CloudFront melewatkan kompresi untuk suatu objek, itu akan menyimpan objek yang tidak dikompresi dan terus menyajikannya kepada pemirsa sampai objek kedaluwarsa, diusir, atau tidak valid.

## Jenis file yang CloudFront mengompres
<a name="compressed-content-cloudfront-file-types"></a>

Jika Anda mengonfigurasi CloudFront untuk mengompres objek, CloudFront hanya kompres objek yang memiliki salah satu nilai berikut di header `Content-Type` respons:
+ `application/dash+xml`
+ `application/eot`
+ `application/font`
+ `application/font-sfnt`
+ `application/javascript`
+ `application/json`
+ `application/opentype`
+ `application/otf`
+ `application/pdf`
+ `application/pkcs7-mime`
+ `application/protobuf`
+ `application/rss+xml`
+ `application/truetype`
+ `application/ttf`
+ `application/vnd.apple.mpegurl`
+ `application/vnd.mapbox-vector-tile`
+ `application/vnd.ms-fontobject`
+ `application/wasm`
+ `application/xhtml+xml`
+ `application/xml`
+ `application/x-font-opentype`
+ `application/x-font-truetype`
+ `application/x-font-ttf`
+ `application/x-httpd-cgi`
+ `application/x-javascript`
+ `application/x-mpegurl`
+ `application/x-opentype`
+ `application/x-otf`
+ `application/x-perl`
+ `application/x-ttf`
+ `font/eot`
+ `font/opentype`
+ `font/otf`
+ `font/ttf`
+ `image/svg+xml`
+ `text/css`
+ `text/csv`
+ `text/html`
+ `text/javascript`
+ `text/js`
+ `text/plain`
+ `text/richtext`
+ `text/tab-separated-values`
+ `text/xml`
+ `text/x-component`
+ `text/x-java-source`
+ `text/x-script`
+ `vnd.apple.mpegurl`

## `ETag`konversi header
<a name="compressed-content-cloudfront-etag-header"></a>

Ketika objek yang tidak dikompresi dari asal menyertakan header `ETag` HTTP yang valid dan kuat, dan CloudFront mengompres objek, CloudFront juga mengubah nilai `ETag` header yang kuat menjadi lemah`ETag`, dan mengembalikan nilai lemah ke penampil`ETag`. Penampil dapat menyimpan yang lemah `ETag` nilai dan penggunaannya untuk mengirim permintaan bersyarat dengan `If-None-Match` Header HTTP. Hal ini memungkinkan pemirsa CloudFront,, dan asal untuk memperlakukan versi objek yang dikompresi dan tidak terkompresi sebagai setara secara semantik, yang mengurangi transfer data yang tidak perlu.

Nilai `ETag` header yang valid dan kuat dimulai dan diakhiri dengan karakter kutipan ganda (`"`). Untuk mengonversi `ETag` yang bernilai rendah, CloudFront menambahkan karakter `W/` pada awal `ETag` yang sesuai.

Ketika objek dari asal menyertakan nilai `ETag` header yang lemah (nilai yang dimulai dengan karakter`W/`), CloudFront tidak mengubah nilai ini, dan mengembalikannya ke penampil seperti yang diterima dari asal.

Ketika objek dari asal menyertakan nilai `ETag` header yang tidak valid (nilai tidak dimulai dengan `"` atau dengan`W/`), CloudFront menghapus `ETag` header dan mengembalikan objek ke penampil tanpa header `ETag` respon.

Untuk informasi lebih lanjut, lihat halaman berikut di dokumen web MDN:
+ [Arahan](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#Directives) (`ETag` Header HTTP)
+ [Validasi lemah](https://developer.mozilla.org/en-US/docs/Web/HTTP/Conditional_requests#Weak_validation) (Permintaan bersyarat HTTP)
+ [If-None-MatchHeader HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match)