

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
<a name="api-gateway-receive-response-with-compressed-payload"></a>

[Saat membuat permintaan pada API yang mendukung kompresi, klien dapat memilih untuk menerima muatan respons terkompresi dari format tertentu dengan menentukan `Accept-Encoding` header dengan pengkodean konten yang didukung.](api-gateway-enable-compression.md#api-gateway-supported-content-encodings) 

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](https://datatracker.ietf.org/doc/html/rfc7231#section-5.3.4). 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 nilai `Accept-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.