

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

# Bagaimana CloudFront memproses permintaan parSIAL untuk objek (rentang GET)
<a name="RangeGETs"></a>

Untuk objek besar, penampil (browser web atau klien lain) dapat membuat beberapa `GET` permintaan dan menggunakan header `Range` permintaan untuk mengunduh objek di bagian yang lebih kecil. Permintaan untuk rentang byte, terkadang disebut `Range GET` meminta, meningkatkan efisiensi unduhan sebagian, dan pemulihan dari transfer yang gagal sebagian. 

Ketika CloudFront menerima `Range GET` permintaan, ia memeriksa cache di lokasi tepi yang menerima permintaan. Jika cache di lokasi tepi itu sudah berisi seluruh objek atau bagian objek yang diminta, CloudFront segera melayani rentang yang diminta dari cache.

Jika cache tidak berisi rentang yang diminta, CloudFront meneruskan permintaan ke asal. (Untuk mengoptimalkan kinerja, CloudFront mungkin meminta rentang yang lebih besar daripada yang diminta klien di`Range GET`.) Apa yang terjadi selanjutnya tergantung pada apakah asal mendukung permintaan `Range GET`:
+ **Jika asal mendukung `Range GET` permintaan ** - Ini mengembalikan rentang yang diminta. CloudFront melayani rentang yang diminta dan juga menyimpannya untuk permintaan di masa mendatang. (Amazon S3 mendukung `Range GET` permintaan, seperti halnya banyak server HTTP.)
+ **Jika asal tidak mendukung `Range GET` permintaan ** — Ini mengembalikan seluruh objek. CloudFront melayani permintaan saat ini dengan mengirimkan seluruh objek sambil juga men-cache untuk permintaan di masa mendatang. Setelah CloudFront menyimpan seluruh objek dalam cache tepi, ia menanggapi `Range GET` permintaan baru dengan melayani rentang yang diminta.

Dalam kedua kasus, CloudFront mulai melayani rentang atau objek yang diminta kepada pengguna akhir segera setelah byte pertama tiba dari asal.

**catatan**  
Jika penampil membuat `Range GET` permintaan dan asal kembali`Transfer-Encoding: chunked`, CloudFront mengembalikan seluruh objek ke penampil alih-alih rentang yang diminta.

CloudFront umumnya mengikuti spesifikasi RFC untuk `Range` header. Namun, jika `Range` header Anda tidak mematuhi persyaratan berikut, CloudFront mengembalikan kode status HTTP `200` dengan objek lengkap alih-alih kode status `206` dengan rentang yang ditentukan:
+ Rentang harus terdaftar dalam urutan naik. Misalnya, `100-200,300-400` valid, `300-400,100-200` tidak valid.
+ Rentang tersebut tidak boleh tumpang tindih. Misalnya, `100-200,150-250` tidak valid.
+ Semua spesifikasi rentang harus valid. Misalnya, Anda tidak dapat menentukan nilai negatif sebagai bagian dari rentang.

Untuk informasi selengkapnya tentang header `Range` permintaan, lihat Permintaan [ Rentang ](https://httpwg.org/specs/rfc7233.html#range.requests) di RFC 7233, atau [ Rentang ](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) di Dokumen Web MDN.

## Gunakan permintaan rentang untuk menyimpan objek besar
<a name="cache-large-objects-with-range-requests"></a>

Ketika caching diaktifkan, CloudFront tidak mengambil atau menyimpan objek yang lebih besar dari 50 GB. Ketika asal menunjukkan bahwa objek lebih besar dari ukuran ini (di header `Content-Length` respons), CloudFront menutup koneksi ke asal dan mengembalikan kesalahan ke penampil. (Dengan caching dinonaktifkan, CloudFront dapat mengambil objek yang lebih besar dari ukuran ini dari asal dan meneruskannya ke penampil. Namun, CloudFront tidak menyimpan objek.)

Namun, dengan permintaan rentang, Anda dapat menggunakan CloudFront untuk menyimpan objek yang lebih besar dari [ ukuran file cache maksimum. ](cloudfront-limits.md#limits-web-distributions) 

**Example Contoh**  

1.  Pertimbangkan asal dengan objek 100 GB. Dengan caching diaktifkan, CloudFront tidak mengambil atau menyimpan objek sebesar ini. Namun, penampil dapat mengirim beberapa permintaan rentang untuk mengambil objek ini dalam beberapa bagian, dengan masing-masing bagian lebih kecil dari 50 GB.

1. Penampil dapat meminta objek dalam bagian 20 GB dengan mengirim permintaan dengan header `Range: bytes=0-21474836480` untuk mengambil bagian pertama, permintaan lain dengan header `Range: bytes=21474836481-42949672960` untuk mengambil bagian berikutnya, dan seterusnya. 

1. Ketika penampil telah menerima semua bagian, ia dapat menggabungkannya untuk membangun objek 100 GB asli. 

1. Dalam hal ini, CloudFront menyimpan masing-masing bagian objek 20 GB dan dapat menanggapi permintaan berikutnya untuk bagian yang sama dari cache.

Untuk permintaan rentang untuk objek terkompresi, permintaan rentang byte didasarkan pada ukuran terkompresi, dan bukan ukuran asli objek. Untuk informasi selengkapnya tentang mengompresi file, lihat[Sajikan file terkompresi](ServingCompressedFiles.md).