userAgent
userAgent
도우미는 Web Request API (opens in a new tab)를 확장하여 요청의 사용자 에이전트 객체와 상호작용할 수 있는 추가 속성과 메서드를 제공합니다.
middleware.ts
import { NextRequest, NextResponse, userAgent } from 'next/server'
export function middleware(request: NextRequest) {
const url = request.nextUrl
const { device } = userAgent(request)
const viewport = device.type === 'mobile' ? 'mobile' : 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}
middleware.js
import { NextResponse, userAgent } from 'next/server'
export function middleware(request) {
const url = request.nextUrl
const { device } = userAgent(request)
const viewport = device.type === 'mobile' ? 'mobile' : 'desktop'
url.searchParams.set('viewport', viewport)
return NextResponse.rewrite(url)
}
isBot
요청이 알려진 봇으로부터 왔는지를 나타내는 부울 값입니다.
browser
요청에 사용된 브라우저에 대한 정보를 포함하는 객체입니다.
name
: 브라우저의 이름을 나타내는 문자열입니다. 식별할 수 없는 경우undefined
입니다.version
: 브라우저의 버전을 나타내는 문자열입니다. 식별할 수 없는 경우undefined
입니다.
device
요청에 사용된 장치에 대한 정보를 포함하는 객체입니다.
model
: 장치의 모델을 나타내는 문자열입니다. 식별할 수 없는 경우undefined
입니다.type
: 장치의 유형을 나타내는 문자열입니다. 가능한 값은console
,mobile
,tablet
,smarttv
,wearable
,embedded
, 또는undefined
입니다.vendor
: 장치의 제조사를 나타내는 문자열입니다. 식별할 수 없는 경우undefined
입니다.
engine
브라우저의 엔진에 대한 정보를 포함하는 객체입니다.
name
: 엔진의 이름을 나타내는 문자열입니다. 가능한 값은Amaya
,Blink
,EdgeHTML
,Flow
,Gecko
,Goanna
,iCab
,KHTML
,Links
,Lynx
,NetFront
,NetSurf
,Presto
,Tasman
,Trident
,w3m
,WebKit
또는undefined
입니다.version
: 엔진의 버전을 나타내는 문자열입니다. 식별할 수 없는 경우undefined
입니다.
os
운영 체제에 대한 정보를 포함하는 객체입니다.
name
: 운영 체제의 이름을 나타내는 문자열입니다. 식별할 수 없는 경우undefined
입니다.version
: 운영 체제의 버전을 나타내는 문자열입니다. 식별할 수 없는 경우undefined
입니다.
cpu
CPU 아키텍처에 대한 정보를 포함하는 객체입니다.
architecture
: CPU 아키텍처를 나타내는 문자열입니다. 가능한 값은68k
,amd64
,arm
,arm64
,armhf
,avr
,ia32
,ia64
,irix
,irix64
,mips
,mips64
,pa-risc
,ppc
,sparc
,sparc64
또는undefined
입니다.