

# API Gateway에서 API에 대한 페이로드 압축 활성화
<a name="api-gateway-enable-compression"></a>

API Gateway 콘솔, AWS CLI 또는 AWS SDK를 사용하여 API에서 압축을 활성화할 수 있습니다.

기존 API에서는 변경 내용이 효과를 발휘하려면 압축을 활성화한 후 API를 배포해야 합니다. 새 API의 경우, API 설정이 완료된 후 API를 배포할 수 있습니다.

**참고**  
우선 순위가 가장 높은 콘텐츠 인코딩은 API Gateway에 의해 지원되는 인코딩이어야 합니다. 그렇지 않은 경우 압축은 응답 페이로드에 적용되지 않습니다.

**Topics**
+ [API Gateway 콘솔을 사용하여 API에서 페이로드 압축 활성화](#api-gateway-enable-compression-console)
+ [AWS CLI를 사용해 API에 대한 페이로드 압축 활성화](#api-gateway-enable-compression-cli)
+ [API Gateway가 지원하는 콘텐츠 코딩](#api-gateway-supported-content-encodings)

## API Gateway 콘솔을 사용하여 API에서 페이로드 압축 활성화
<a name="api-gateway-enable-compression-console"></a>

다음 절차는 API에서 페이로드 압축을 활성화하는 방법을 설명합니다.

**API Gateway 콘솔을 사용하여 페이로드 압축을 활성화하려면**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)에서 API Gateway 콘솔에 로그인합니다.

1. 기존 API를 선택하거나 새 API를 생성합니다.

1. 기본 탐색 창에서 **API 설정**을 선택합니다.

1. **API 세부 정보** 섹션에서 **편집**을 선택합니다.

1. **콘텐츠 인코딩**을 켜서 페이로드 압축을 활성화합니다. **최소 본문 크기** 옆에 최소 압축 크기(바이트)에 해당하는 숫자를 입력합니다. 압축을 해제하려면 **콘텐츠 인코딩** 옵션을 끕니다.

1. **변경 사항 저장**을 선택합니다.

## AWS CLI를 사용해 API에 대한 페이로드 압축 활성화
<a name="api-gateway-enable-compression-cli"></a>



다음 [create-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-rest-api.html) 명령은 페이로드 압축을 사용하여 API를 생성합니다.

```
aws apigateway create-rest-api \
    --name "My test API" \
    --minimum-compression-size 0
```

다음 [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) 명령은 기존 API에 대한 페이로드 압축을 활성화합니다.

```
aws apigateway update-rest-api \
    --rest-api-id 1234567890 \
    --patch-operations op=replace,path=/minimumCompressionSize,value=0
```

`minimumCompressionSize` 속성의 음수가 아닌 정수 값은 0에서 10485760(10M바이트) 사이입니다. 압축 임계값을 측정합니다. 페이로드 크기가 이 값보다 작으면 페이로드에 압축 또는 압축 해제가 적용되지 않습니다. 이 값을 0으로 설정하면 모든 페이로드 크기에 압축이 허용됩니다.

다음 [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) 명령은 페이로드 압축을 끕니다.

```
aws apigateway update-rest-api \
    --rest-api-id 1234567890 \
    --patch-operations op=replace,path=/minimumCompressionSize,value=
```

이전 호출에서 `value`를 빈 문자열 `""`로 설정하거나 `value` 속성을 모두 생략할 수도 있습니다.

## API Gateway가 지원하는 콘텐츠 코딩
<a name="api-gateway-supported-content-encodings"></a>

API Gateway가 지원하는 콘텐츠 코딩은 다음과 같습니다.
+ `deflate`
+ `gzip`
+ `identity`

[RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-5.3.4) 사양에 따르면 API Gateway는 다음의 `Accept-Encoding` 헤더 형식도 지원합니다.
+ `Accept-Encoding:deflate,gzip`
+ `Accept-Encoding:`
+ `Accept-Encoding:*`
+ `Accept-Encoding:deflate;q=0.5,gzip;q=1.0`
+ `Accept-Encoding:gzip;q=1.0,identity;q=0.5,*;q=0`