

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Cache-Control 헤더를 사용하여 앱 성능 향상
<a name="Using-headers-to-control-cache-duration"></a>

Amplify의 기본 호스팅 아키텍처는 호스팅 성능과 배포 가용성 간의 균형을 최적화합니다. 대부분의 고객은 기본 아키텍처를 사용하는 것이 좋습니다.

앱의 성능을 더 세밀하게 제어해야 하는 경우 콘텐츠 전송 네트워크(CDN) 엣지에서 콘텐츠를 더 긴 간격 동안 캐시하여 호스팅 성능을 최적화하도록 HTTP `Cache-Control` 헤더를 수동으로 설정할 수 있습니다.

HTTP `Cache-Control` 헤더의 `max-age` 및 `s-maxage` 지시문은 앱의 콘텐츠 캐싱 기간에 영향을 줍니다. `max-age` 명령을 사용하면 오리진 서버에서 콘텐츠를 새로 고치기 전에 캐시에 유지하려는 시간(초)을 브라우저에 알려 줍니다. `s-maxage` 명령을 사용하면 `max-age`를 재정의하고 오리진 서버에서 콘텐츠를 새로 고치기 전에 CDN 엣지에 보관하려는 시간(초)을 지정할 수 있습니다.

Amplify로 호스팅되는 앱은 사용자가 정의하는 사용자 지정 헤더로 재정의하지 않는 한 오리진에서 전송되는 `Cache-Control` 헤더를 그대로 사용합니다. Amplify는 `200 OK` 상태 코드를 반환하는 성공적인 응답에 대해서만 `Cache-Control` 사용자 지정 헤더를 적용합니다. 이렇게 하면 오류 응답이 캐시되어 동일한 요청을 하는 다른 사용자에게 제공되는 것을 방지할 수 있습니다.

앱의 성능 및 배포 가용성을 더 잘 제어하도록 `s-maxage` 디렉티브를 수동으로 조정할 수 있습니다. 예를 들어, 콘텐츠가 엣지에 캐시되는 시간을 변경하려면 `s-maxage`를 기본값인 31536000초(1년) 이외의 값으로 업데이트하여 TTL(Time to Live)을 수동으로 설정할 수 있습니다.

Amplify 콘솔의 **사용자 지정 헤더** 섹션에서 앱의 사용자 지정 헤더를 정의할 수 있습니다. YAML 형식의 예는 [Cache-Control 사용자 지정 헤더 설정](setting-custom-headers.md#example-cache-headers) 섹션을 참조하세요.

CDN 엣지에서 24시간 동안 콘텐츠를 캐시하도록 `s-maxage` 지시문을 설정하려면 다음 절차를 사용합니다.

**사용자 지정 Cache-Control 헤더를 설정하려면**

1. 에 로그인 AWS Management Console 하고 [Amplify 콘솔](https://console.aws.amazon.com/amplify/)을 엽니다.

1. 사용자 지정 헤더를 설정할 앱을 선택합니다.

1. 탐색 창에서 **호스팅**, **사용자 지정 헤더**를 선택합니다.

1. **사용자 지정 헤더** 페이지에서 **편집**을 선택합니다.

1. **사용자 지정 헤더 편집** 창에서 사용자 지정 헤더의 정보를 다음과 같이 입력합니다.

   1. `pattern`의 경우 모든 경로에 **\*\*/\***를 입력합니다.

   1. `key`에 **Cache-Control**를 입력합니다.

   1. `value`에 **s-maxage=86400**를 입력합니다.

1. **저장**을 선택합니다.

1. 앱을 재배포하여 새 사용자 지정 헤더를 적용합니다.