Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerima API tanggapan dengan muatan terkompresi di Gateway API
APIGateway hanya memampatkan muatan respons ketika 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 RFC7231. 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
.
APIGateway menerapkan template pemetaan apa pun yang dikonfigurasi untuk respons integrasi sebelum mengompresi muatan. Jika respons integrasi berisi Content-Encoding
header, API Gateway mengasumsikan bahwa muatan respons integrasi sudah dikompresi dan melewatkan pemrosesan kompresi.
Contohnya adalah PetStore API contoh dan permintaan berikut:
GET /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Accept: application/json
Backend merespons permintaan dengan JSON muatan 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 muatan terkompresi, API klien Anda dapat mengirimkan permintaan sebagai berikut:
GET /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Accept-Encoding:gzip
Klien menerima respon dengan Content-Encoding
header dan GZIP -encoded payload 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.