Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerima respons API dengan payload terkompresi di API Gateway
API Gateway hanya memampatkan payload respons jika kondisi berikut terpenuhi:
-
Permintaan masuk memiliki
Accept-Encoding
header dengan pengkodean dan format konten yang didukung.catatan
Jika header tidak disetel, nilai default adalah
*
seperti yang didefinisikan dalam RFC 7231. Dalam kasus seperti itu, API Gateway tidak memampatkan muatan. Beberapa browser atau klien dapat menambahkan Accept-Encoding
(misalnya,Accept-Encoding:gzip, deflate, br
) secara otomatis ke permintaan yang diaktifkan kompresi. Ini dapat mengaktifkan kompresi payload di API Gateway. Tanpa spesifikasi eksplisit dari nilaiAccept-Encoding
header yang didukung, API Gateway tidak memampatkan payload. -
minimumCompressionSize
Ini diatur pada API untuk mengaktifkan kompresi. -
Respons integrasi tidak memiliki
Content-Encoding
header. -
Ukuran muatan respons integrasi, setelah templat pemetaan yang berlaku diterapkan, lebih besar dari atau sama dengan nilai yang ditentukan
minimumCompressionSize
.
API Gateway menerapkan template pemetaan apa pun yang dikonfigurasi untuk respons integrasi sebelum mengompresi payload. Jika respons integrasi berisi Content-Encoding
header, API Gateway mengasumsikan bahwa payload respons integrasi sudah dikompresi dan melewatkan pemrosesan kompresi.
Contohnya adalah contoh PetStore API dan permintaan berikut:
GET /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Accept: application/json
Backend merespons permintaan dengan muatan JSON yang tidak terkompresi yang mirip dengan yang berikut ini:
200 OK [ { "id": 1, "type": "dog", "price": 249.99 }, { "id": 2, "type": "cat", "price": 124.99 }, { "id": 3, "type": "fish", "price": 0.99 } ]
Untuk menerima output ini sebagai payload terkompresi, klien API Anda dapat mengirimkan permintaan sebagai berikut:
GET /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Accept-Encoding:gzip
Klien menerima respons dengan Content-Encoding
header dan muatan yang dikodekan GZIP yang mirip dengan berikut ini:
200 OK Content-Encoding:gzip ... ���RP� J�)JV �:P^IeA*������+(�L �X�YZ�ku0L0B7!9��C#�&����Y��a���^�X
Ketika payload respons dikompresi, hanya ukuran data terkompresi yang ditagih untuk transfer data.