Caching Strategy 동적(Dynamic) 렌더링 동적 렌더링을 사용하면 사용자가 요청하는 시점에 해당 경로(Route)가 렌더링됩니다. 이는 페이지 내에서 쿠키, 헤더, URL 검색 파라미터와 같이 매 요청마다 달라지는 정보를 참조할 때 발생합니다. 다음과
점진적(Incremental) 정적(Static) 재생성(Regeneration)의 약자. 기존에는 페이지 하나를 수정하려면 웹사이트 전체를 처음부터 다시 빌드해야 했다. ISR은 사이트 전체를 건드리지 않고, 만료된 특정 페이지만 백그라운드에서 새 HTML로 다시 생
generateStaticParams 함수는 동적 경로 세그먼트와 함께 사용하며, 요청 시점이 아닌 빌드 시점에 정적으로 경로를 미리 생성하는 데 활용한다.generateStaticParams는 다음 파일과 함께 사용할 수 있다:페이지 (page.tsx / page.j
메타데이터는 metadata 객체 또는 generateMetadata 함수를 통해 정의할 수 있다.정적 메타데이터를 정의할 때는 layout.tsx 또는 page.tsx에서 Metadata 객체를 내보낸다.지원되는 전체 옵션 목록은 메타데이터 필드 문서를 참고한다.현재
Route Handler 라우트 핸들러를 사용하면 Web Request/Response API를 활용해 특정 경로에 대한 커스텀 요청 핸들러를 만들 수 있다. 규칙 라우트 핸들러는 app 디렉터리 내의 route.js|ts 파일에 정의한다. page.js, lay
NextRequest NextRequest는 Web Request API를 확장하여 추가적인 편의 메서드를 제공한다. cookies 요청의 Set-Cookie 헤더를 읽거나 수정한다. set(name, value) — 이름과 값을 지정해 요청에 쿠키를 설정한다.
NextResponse는 Web Response API를 확장하여 추가적인 편의 메서드를 제공한다.응답의 Set-Cookie 헤더를 읽거나 수정한다.set(name, value) — 이름과 값을 지정해 응답에 쿠키를 설정한다.get(name) — 쿠키 이름으로 값을 반
동일한 연산을 반복할 때, 이전에 계산한 결과를 메모리에 저장해 두었다가 동일한 요청이 들어오면 연산을 생략하고 저장된 값을 즉시 반환하는 최적화 기법이다. 불필요한 중복 연산을 제거하는 것이 프론트엔드/백엔드 최적화의 기본 원칙이며, React와 Next.js의 렌더
Step 1. next.config.ts서버에서 발생하는 fetch 요청의 캐시 상태(HIT/MISS)와 처리 시간, URL을 터미널에 출력하도록 설정한다. 캐시가 의도대로 동작하는지 확인하는 데 필수적인 옵션이다.Step 2. Request Memoization 검증
Server Actions의 기반 개념이다. 원격 서버의 함수를 로컬 함수처럼 직접 호출하는 기술로, 복잡한 네트워크 통신 로직을 추상화하여 개발자가 비즈니스 로직에만 집중할 수 있게 한다.내부적으로는 Stub(클라이언트 대리자)과 Skeleton(서버 수신자) 구조로
Server Actions — 폼 활용 가이드 기본 동작 ` 형태로 연결하면 FormData 객체가 자동으로 전달된다. 필드가 많을 경우 Object.fromEntries(formData)로 한 번에 추출할 수 있다. 단, 이 경우 $ACTION_` 접두사가 붙은
특정 경로의 캐시를 온디맨드로 무효화하는 함수다. Server Function과 Route Handler에서만 호출할 수 있으며, Client Component와 Proxy에서는 사용할 수 없다.파라미터path: 재검증할 경로. /product/123과 같은 리터럴 경
Next.js의 redirect() 함수는 일반적인 반환값을 가지는 함수가 아니다. 호출되는 순간 NEXT_REDIRECT라는 특수한 에러 객체를 throw한다.이 설계의 이유는 명확하다. 리다이렉션이 결정된 시점 이후의 코드를 계속 실행하는 것은 불필요한 서버 리소스