userAgent
userAgent
헬퍼는 Web Request API를 확장하여 요청의 사용자 에이전트 객체와 상호 작용할 수 있는 추가 속성과 메서드를 제공합니다.
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
: OS의 이름을 나타내는 문자열 또는undefined
입니다.version
: OS의 버전을 나타내는 문자열 또는undefined
입니다.
cpu
CPU 아키텍처에 대한 정보를 포함하는 객체입니다.
architecture
: CPU의 아키텍처를 나타내는 문자열입니다. 가능한 값들은 다음과 같습니다:68k
,amd64
,arm
,arm64
,armhf
,avr
,ia32
,ia64
,irix
,irix64
,mips
,mips64
,pa-risc
,ppc
,sparc
,sparc64
또는undefined