학습 문서/api reference/config/next config js

generateEtags#

학습 목표#

  • Next.js가 기본적으로 모든 페이지에 etags를 생성하는 동작을 이해한다.
  • 캐시 전략에 따라 HTML 페이지의 etag 생성을 비활성화하는 설정을 익힌다.
  • generateEtags: false를 설정했을 때 응답 헤더에서 확인할 변화를 파악한다.

핵심 개념 및 설명#

Next.js는 기본적으로 모든 페이지에 `etags`를 생성한다. 캐시 전략에 따라 HTML 페이지의 etag 생성을 끄고 싶을 때가 있다.

next.config.js에서 generateEtags를 false로 설정하면 etag 생성이 비활성화된다.

next.config.jsjs
module.exports = {
  generateEtags: false,
}

예제 및 데모 설계#

  • 데모 가능 여부: 가능 (브라우저 DevTools의 Network 탭에서 ETag 응답 헤더를 비교할 수 있다)
  • 기본 설정으로 페이지를 요청해 응답의 ETag 헤더가 생성되는지 확인한다.
  • generateEtags: false를 적용하고 다시 요청해 HTML 응답의 ETag 헤더가 사라지는지 비교한다.

연습 문제#

  1. generateEtags의 기본 동작으로 올바른 것은 무엇인가?
  • A. 모든 페이지에 ETag를 생성한다.
  • B. 개발 환경에서만 ETag를 생성한다.
  • C. ETag를 생성하지 않고 모든 응답을 no-store로 만든다.
  • D. next build의 build id를 ETag로 대체한다.
정답 보기

정답: A 해설: Next.js는 기본적으로 모든 페이지에 etags를 생성한다.

  1. HTML 페이지의 etag 생성을 끄는 설정은 무엇인가?
  • A. generateEtags: true
  • B. generateEtags: false
  • C. etag: 'off'
  • D. cacheControl: false
정답 보기

정답: B 해설: next.config.js에서 generateEtags: false를 설정하면 etag 생성을 비활성화할 수 있다.

챕터 요약#

  • Next.js는 기본적으로 모든 페이지에 etags를 생성한다.
  • HTML 페이지의 etag 생성 여부는 애플리케이션의 캐시 전략에 따라 조정할 수 있다.
  • generateEtags: false를 next.config.js에 설정하면 etag 생성이 꺼진다.
  • 브라우저의 Network 탭에서 응답의 ETag 헤더를 확인해 동작을 비교할 수 있다.
이 문서가 도움이 되었나요?

남겨 주신 응답은 문서를 개선하는 데 쓰여요.

이 탭에서는 문서마다 한 번 응답할 수 있어요.