콘텐츠로 이동

함수: userAgent

Source URL: https://nextjs.org/docs/app/api-reference/functions/userAgent

최종 업데이트: 2026년 2월 20일

userAgent 헬퍼는 요청에서 사용자 에이전트 객체와 상호작용할 수 있도록 Web Request API에 추가 속성과 메서드를 확장합니다.

proxy.ts

JavaScriptTypeScript

import { NextRequest, NextResponse, userAgent } from 'next/server'
export function proxy(request: NextRequest) {
const url = request.nextUrl
const { device } = userAgent(request)
// device.type can be: 'mobile', 'tablet', 'console', 'smarttv',
// 'wearable', 'embedded', or undefined (for desktop browsers)
const viewport = device.type || 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}

요청이 알려진 봇에서 왔는지를 나타내는 불리언 값입니다.

요청에 사용된 브라우저 정보를 담고 있는 객체입니다.

  • name: 브라우저 이름을 나타내는 문자열이며, 식별할 수 없는 경우 undefined입니다.
  • version: 브라우저 버전을 나타내는 문자열이며, 식별할 수 없는 경우 undefined입니다.

요청에 사용된 디바이스 정보를 담고 있는 객체입니다.

  • model: 디바이스 모델을 나타내는 문자열이며, 없으면 undefined입니다.
  • type: console, mobile, tablet, smarttv, wearable, embedded 또는 undefined와 같이 디바이스 유형을 나타내는 문자열입니다.
  • vendor: 디바이스 제조사를 나타내는 문자열이며, 없으면 undefined입니다.

브라우저 엔진 정보를 담고 있는 객체입니다.

  • name: 엔진 이름을 나타내는 문자열입니다. 가능한 값은 Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKit 또는 undefined입니다.
  • version: 엔진 버전을 나타내는 문자열이며, 없으면 undefined입니다.

운영체제 정보를 담고 있는 객체입니다.

  • name: OS 이름을 나타내는 문자열이며, 없으면 undefined입니다.
  • version: OS 버전을 나타내는 문자열이며, 없으면 undefined입니다.

CPU 아키텍처 정보를 담고 있는 객체입니다.

  • architecture: CPU 아키텍처를 나타내는 문자열입니다. 가능한 값은 68k, amd64, arm, arm64, armhf, avr, ia32, ia64, irix, irix64, mips, mips64, pa-risc, ppc, sparc, sparc64 또는 undefined입니다.

보내기