Performance: Request modification
This affects the server response time and client perceived load speed by modifying requests before they reach the server or client.
Jump into concepts and practice - no test required
import { NextResponse } from 'next/server'; export function middleware(request) { const url = new URL(request.url); if (url.pathname === '/old-path') { url.pathname = '/new-path'; return NextResponse.rewrite(url); } return NextResponse.next(); }
import { NextResponse } from 'next/server'; export function middleware(request) { const url = new URL(request.url); url.pathname = '/old-path'; return NextResponse.rewrite(url); }
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Unconditional rewrite in middleware | 0 (server-side) | 0 | 0 | [X] Bad |
| Conditional rewrite with minimal logic | 0 (server-side) | 0 | 0 | [OK] Good |
import { NextResponse } from 'next/server';
export function middleware(request) {
const newHeaders = new Headers(request.headers);
newHeaders.set('x-user', 'alice');
const newRequest = new Request(request.url, { headers: newHeaders });
return NextResponse.next(newRequest);
}import { NextResponse } from 'next/server';
export function middleware(request) {
request.headers.set('x-custom', '123');
return NextResponse.next(request);
}