Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Empfangen Sie eine API Antwort mit einer komprimierten Nutzlast in Gateway API
APIGateway komprimiert die Antwortnutzlast nur, wenn die folgenden Bedingungen erfüllt sind:
-
Der
Accept-Encoding
-Header der eingehenden Anforderung weist eine unterstützte Inhaltscodierung und ein entsprechendes Format auf.Anmerkung
Wenn der Header nicht gesetzt ist, entspricht der Standardwert der Definition in
*
RFC 7231.In einem solchen Fall komprimiert API Gateway die Nutzlast nicht. Einige Browser oder Clients fügen komprimierungsfähigen Anforderungen möglicherweise automatisch Accept-Encoding
(z. B.Accept-Encoding:gzip, deflate, br
) hinzu. Dadurch kann die Payload-Komprimierung in API Gateway aktiviert werden. Ohne eine explizite Angabe der unterstütztenAccept-Encoding
Header-Werte komprimiert API Gateway die Payload nicht. -
Das
minimumCompressionSize
ist auf der eingestellt, API um die Komprimierung zu aktivieren. -
Die Integrationsantwort enthält keinen
Content-Encoding
-Header. -
Die Größe einer Integrationsantwortnutzlast nach Anwendung der geltenden Zuweisungsvorlage ist größer als oder gleich dem angegebenen
minimumCompressionSize
-Wert.
APIGateway wendet jede Zuordnungsvorlage an, die für die Integrationsantwort konfiguriert ist, bevor die Nutzlast komprimiert wird. Wenn die Integrationsantwort einen Content-Encoding
Header enthält, geht API Gateway davon aus, dass die Nutzlast der Integrationsantwort bereits komprimiert ist, und überspringt die Komprimierungsverarbeitung.
Ein Beispiel ist das PetStore API Beispiel und die folgende Anfrage:
GET /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Accept: application/json
Das Backend beantwortet die Anfrage mit einer unkomprimierten JSON Nutzlast, die der folgenden ähnelt:
200 OK [ { "id": 1, "type": "dog", "price": 249.99 }, { "id": 2, "type": "cat", "price": 124.99 }, { "id": 3, "type": "fish", "price": 0.99 } ]
Um diese Ausgabe als komprimierte Nutzlast zu erhalten, kann Ihr API Kunde eine Anfrage wie folgt einreichen:
GET /pets Host: {petstore-api-id}.execute-api.{region}.amazonaws.com Accept-Encoding:gzip
Der Client erhält die Antwort mit einem Content-Encoding
Header und einer GZIP -codierten Payload, die dem Folgenden ähneln:
200 OK Content-Encoding:gzip ... ���RP� J�)JV �:P^IeA*������+(�L �X�YZ�ku0L0B7!9��C#�&����Y��a���^�X
Wird die Antwortnutzlast komprimiert, wird nur die komprimierte Datengröße für die Datenübertragung in Rechnung gestellt.