NextRequest

okkyung·2026년 3월 18일

nextjs

목록 보기
6/13

NextRequest

NextRequest는 Web Request API를 확장하여 추가적인 편의 메서드를 제공한다.


cookies

요청의 Set-Cookie 헤더를 읽거나 수정한다.

set(name, value) — 이름과 값을 지정해 요청에 쿠키를 설정한다.

// 요청 경로: /home
// request에 `Set-Cookie: show-banner=false; path=/home` 헤더가 추가된다.
request.cookies.set('show-banner', 'false')

get(name) — 쿠키 이름으로 값을 반환한다. 쿠키가 없으면 undefined를 반환하고, 동일한 이름의 쿠키가 여러 개이면 첫 번째 값을 반환한다.

// 요청 경로: /home
// { name: 'show-banner', value: 'false', Path: '/home' }
request.cookies.get('show-banner')

getAll() — 이름을 지정하면 해당 쿠키의 모든 값을 반환한다. 이름을 생략하면 요청의 모든 쿠키를 반환한다.

// 요청 경로: /home
// [
//   { name: 'experiments', value: 'new-pricing-page', Path: '/home' },
//   { name: 'experiments', value: 'winter-launch', Path: '/home' },
// ]
request.cookies.getAll('experiments')

// 요청의 모든 쿠키를 가져올 수도 있다.
request.cookies.getAll()

delete(name) — 이름으로 지정한 쿠키를 요청에서 삭제한다.

// 삭제되면 true, 삭제할 쿠키가 없으면 false를 반환한다.
request.cookies.delete('experiments')

has(name) — 지정한 이름의 쿠키가 요청에 존재하면 true를 반환한다.

// 쿠키가 존재하면 true, 없으면 false를 반환한다.
request.cookies.has('experiments')

clear() — 요청의 모든 쿠키를 제거한다.

request.cookies.clear()

nextUrl

기본 URL API를 확장하며, Next.js 전용 속성을 포함한 추가 편의 메서드를 제공한다.

// 요청 경로가 /home이면 pathname은 /home
request.nextUrl.pathname

// 요청 경로가 /home?name=lee이면 searchParams는 { 'name': 'lee' }
request.nextUrl.searchParams

사용 가능한 속성은 다음과 같다.

속성타입설명
basePathstringURL의 베이스 경로
buildIdstring \| undefinedNext.js 애플리케이션의 빌드 식별자. 커스터마이징 가능
pathnamestringURL의 경로(pathname)
searchParamsObjectURL의 쿼리 파라미터

Pages Router의 국제화(i18n) 관련 속성은 App Router에서 사용할 수 없다.

nextjs#next-request

0개의 댓글