

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Ricezione di una risposta API con un payload compresso in Gateway API
<a name="api-gateway-receive-response-with-compressed-payload"></a>

Quando effettua una richiesta in un'API abilitata per la compressione, il client può scegliere di ricevere un payload di risposta compresso con un determinato formato specificando un'intestazione `Accept-Encoding` con una [codifica di contenuto supportata](api-gateway-enable-compression.md#api-gateway-supported-content-encodings). 

API Gateway comprime il payload di risposta solo quando vengono soddisfatte le condizioni seguenti:
+  La richiesta in ingresso ha l'intestazione `Accept-Encoding` con una codifica di contenuto e un formato supportati. 
**Nota**  
Se l'intestazione non è impostata, il valore predefinito è `*`, come definito in [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-5.3.4). In tal caso, API Gateway non comprime il payload. Alcuni browser o client possono aggiungere `Accept-Encoding` (ad esempio, `Accept-Encoding:gzip, deflate, br`) automaticamente alle richieste abilitate per la compressione. Ciò può attivare la compressione del payload in Gateway API. Se i valori dell'intestazione `Accept-Encoding` supportati non sono specificati in modo esplicito, API Gateway non comprime il payload. 
+  La proprietà `minimumCompressionSize` è impostata nell'API per abilitare la compressione.
+  La risposta di integrazione non ha un'intestazione `Content-Encoding`. 
+  La dimensione di un payload di risposta di integrazione, dopo l'applicazione del modello di mappatura applicabile, è maggiore o uguale al valore di `minimumCompressionSize` specificato.

API Gateway applica l'eventuale modello di mappatura configurato per la risposta di integrazione prima della compressione del payload. Se la risposta di integrazione contiene un'intestazione `Content-Encoding`, API Gateway presuppone che il payload di risposta di integrazione sia già compresso e ignora l'elaborazione della compressione.

Un esempio è l'esempio di PetStore API e la seguente richiesta:

```
GET /pets
Host: {petstore-api-id}.execute-api.{region}.amazonaws.com
Accept: application/json
```

Il back-end risponde alla richiesta con un payload JSON non compresso simile a quanto segue:

```
200 OK

[
  { 
    "id": 1, 
    "type": "dog", 
    "price": 249.99 
  }, 
  { 
    "id": 2, 
    "type": "cat", 
    "price": 124.99 
  }, 
  { 
    "id": 3, 
    "type": "fish", 
    "price": 0.99 
  } 
]
```

Per ricevere l'output come payload compresso, il client API può inviare una richiesta come illustrato di seguito:

```
GET /pets
Host: {petstore-api-id}.execute-api.{region}.amazonaws.com
Accept-Encoding:gzip
```

Il client riceve la risposta con un'intestazione `Content-Encoding` e un payload con codifica GZIP simile a quanto segue: 

```
200 OK
Content-Encoding:gzip
...

���RP�

J�)JV
�:P^IeA*������+(�L	�X�YZ�ku0L0B7!9��C#�&����Y��a���^�X
```

Quando il payload di risposta è compresso, solo la dimensione dei dati compressi viene fatturata per il trasferimento dati.